Ho una stringa costruita da tipi di tastiera utente, quindi potrebbe contenere '\b'
caratteri (backspaces).Java regex - cancella caratteri seguiti da b (backspace)
Voglio pulire la stringa, in modo che non contenga i caratteri '\b'
, così come i caratteri che devono essere cancellati. Per esempio, la stringa:
String str = "\bHellow\b world!!!\b\b\b.";
deve essere stampato come:
Hello world.
ho provato un paio di cose con replaceAll, e quello che ho adesso è:
System.out.println(str.replaceAll("^\b+|.\b+", ""));
che stampa :
Ciao mondo !!.
Il singolo '\b'
viene gestito correttamente, ma i multipli di esso vengono ignorati.
Quindi, posso risolverlo con regex di Java?
EDIT:
ho visto this risposta, ma sembra che non si applicano per replaceAll di Java.
Forse mi manca qualcosa con la stringa verbatim ...
Come si stampa questa stringa per ottenere '\ b' in uscita? – anubhava
Console di Eclipse ... ma la passo anche in XML-RPC e fallisce poiché è un carattere XML non valido ... – Elist
Ho appena visto "Hellow world !!!." Sulla mia console Eclipse senza '\ b' che mostra – anubhava