Можно ли как-то изменять много символов в одном replace()
Можно ли как-то изменять много символов в одном replace()?
Например, если я хочу заменить ещё и * на ;.
String str1 = str.replace("#", ";");
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Используйте RegEx
str = str.replaceAll("[0-9]", ";");
Ну или вашем случае
str = str.replaceAll("[*#]", ";");
Автор решения: Podushkoved
→ Ссылка
Метод replace заменяет все вхождения в текущей строке литерала (т.е. последовательности символов) на другой литерал.
Метод replaceAll заменяет все вхождения в текущей строке литералов, соответствующих переданному регулярному выражению, на другой литерал.
В вашем случае лучше использовать replaceAll:
String str1 = str.replaceAll("[*#]", ";");
Либо можно использовать цепочку replace:
String str1 = str.replace("#", ";").replace("*", ";");
UPD: Есть ещё старый метод replace, кототый заменяет все вхождения в текущей строке определенного символа char на другой символ char:
String str1 = str.replace('#', ';').replace('*', ';');