замените только некоторые символы в строке

#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. Возможно, из-за плохой исследовательской работы