String.replaceAll без RegEx - PullRequest
       21

String.replaceAll без RegEx

102 голосов
/ 30 ноября 2010

Я хотел бы заменить все вхождения подстроки в строке, но String.replaceAll() принимает только шаблон. Строка, которую я получил из предыдущего матча. Можно ли добавить экранирование в шаблон, который у меня есть, или есть версия replaceAll() в другом классе, которая принимает буквальную строку вместо шаблона?

Ответы [ 2 ]

168 голосов
/ 30 ноября 2010

Просто используйте String.replace(CharSequence,CharSequence) вместо replaceAll.

89 голосов
/ 30 ноября 2010

Метод добавления экранирования: Pattern.quote().

String replaced = myString.replaceAll(Pattern.quote(matchingStr), replacementStr)

Но, как говорит Джон, вы можете просто использовать replace().Несмотря на то, что он отличается от replaceAll имени, он заменяет все вхождений, как replaceAll().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...