Ho una stringa che include backspace. Visualizzarlo alla linea di comando si 'applica' le backspaces tale che ogni backspace e il carattere non backspace immediatamente precedente non può essere visto:Applicare backspace all'interno di una stringa
>> tempStr = ['aaab', char(8)]
tempStr =
aaa
Tuttavia l'operazione operazione di cancellazione avviene solo quando si visualizza la stringa. Ha ancora il carattere backspace, e la 'b', al suo interno:
>> length(tempStr)
ans =
5
Sto cercando un minimo (idealmente una sorta di elaborazione delle stringhe incorporato) funzione che applica l'operazione backspace:
>>f(tempStr)
ans =
'aaa'
Può anche essere utile sapere che ho una classe di enumerazioni sopra l'alfabeto 'a' a 'z' plus '' e backspace (per memorizzare la mia indicizzazione personale delle lettere, le immagini associate a ciascuna ecc.). Sarebbe verissimo che questa operazione di rimozione backspace sia un metodo della superclasse che agisce su un vettore dei suoi oggetti.
quindi qualcosa come 'newStr = regexprep (tempStr, expression, '');' dove 'expression = ['\ w', char (8)];'? – schvaba986
Questo è molto vicino, grazie! Che ne dici di quando inizio con un backspace o un doppio backspace? 'tempStr = [char (8), 'aaabb', char (8), char (8)];' – eretmochelys
Ma se inizi con un backspace, tehre non è nulla da eliminare, vero? –