Я хочу заменить все экземпляры подстроки в строке, но String.replaceAll()
принимает только шаблон. Строка, полученная мной из предыдущего совпадения. Можно ли добавлять экраны к шаблону, который у меня есть, или есть версия replaceAll()
в другом классе, который принимает литеральную строку вместо шаблона?
String.replaceAll без RegEx
Ответ 1
Просто используйте String.replace(CharSequence,CharSequence)
, а не replaceAll
.
Ответ 2
Метод добавления escapes Pattern.quote()
.
String replaced = myString.replaceAll(Pattern.quote(matchingStr), replacementStr)
Но, как говорит Джон, вы можете просто использовать replace()
. Несмотря на то, что он отклоняется от имени replaceAll
, он заменяет все вхождения точно так же, как replaceAll()
.