È possibile utilizzare il metodo della classe String
replaceAll
.
È possibile creare una classe di caratteri costituita dai caratteri che si desidera eliminare. E la stringa di sostituzione sarà vuota stringa ""
.
Ma i caratteri che si desidera eliminare e che si inseriscono nella classe di caratteri potrebbero essere regex meta-caratteri e quindi devono essere sottoposti a escape. È possibile sfuggire manualmente come mostrano molte risposte, in alternativa è possibile utilizzare il metodo Pattern.quote()
.
String charToDel = ">[],-";
String pat = "[" + Pattern.quote(charToDel) + "]";
String str = "a>b[c]d,e-f";
str = str.replaceAll(pat,"");
See it
Beh, si potrebbe usare espressioni regolari, ma poi avresti per sfuggire caratteri speciali. E di che tipo di efficienza stai parlando? Runtime o il tuo (cioè linee di codice)? –
Preoccuparsi per l'"efficienza" di questo particolare problema indica una prematura ottimizzazione; Dubito fortemente che * questo * metodo sia il collo di bottiglia della vostra applicazione. Prenditi il tuo tempo per scoprire dove la tua applicazione è * veramente * lenta e ha bisogno di ottimizzazione. – Bombe