Регулярное выражение Java заменяет строку специальными символами

#java #regex

#java #Регулярное выражение

Вопрос:

Мне нужно заменить <keyword> на строку.

 String result = "<keyword>".replace(Pattern.quote("<keyword>"), "text");
  

Ожидаемый результат: text

Получен результат: <keyword>

Есть идеи?

Комментарии:

1. String result = "<keyword>".replace("<keyword>", "text");

Ответ №1:

Поскольку String.replace не использует параметры регулярных выражений, вы можете просто использовать

 String result = "<keyword>".replace("<keyword>", "text");
  

Комментарии:

1. по какой-то причине я думал replace , что ожидаемое регулярное выражение

2. replaceAll ожидает регулярного выражения, replace ожидает обычной строки

Ответ №2:

Кажется, вы хотите использовать replaceAll то, которое использует регулярное выражение, а replace не то, которого нет.

 String result = "<keyword>".replaceAll("<keyword>", "text");
  

Если вы проверите replaceAll javadocs, вы найдете:

введите описание изображения здесь