#java #regex
#java #регулярное выражение
Вопрос:
Я ищу способ в Java заменить соответствующий символ из последовательности без цикла.
Пример
String x = ""
String pattern = "12"
String ex1 = "1254"
x = ex1.replace(pattern, "");
System.out.print(x)
Output:
54
In this case 1254 a match is found: 12
Однако,
String x = ""
String pattern = "12"
String ex1 = "154"
x = ex1.replace(pattern, "");
System.out.print(x)
Output:
154
In this case no replacement takes place.
The desired output in this case would be:
54
because only 1 is found from the pattern
Это потому, что шаблон должен полностью совпадать в word. Однако существует ли функция, в которой будут заменены только совпадающие символы из шаблона?
Ответ №1:
Как насчет использования символьного класса
x = ex1.replaceAll("[12]", "");
Комментарии:
1. Как насчет того, если мне нужно использовать шаблон переменной, в котором хранится последовательность? Этот («[» шаблон «]» не работает
2. Используете ли вы
replaceAll
вместоreplace
?3. Я использовал replace, а не replaceAll . Теперь это работает. Спасибо. Кроме того, я не совсем понимаю, почему мой вопрос был отклонен??? Я правильно сформулировал вопрос и предоставил как можно больше деталей??
4. Возможно, из-за плохой исследовательской работы