Вам нужно:
str = str.replaceAll("World", "\\\\_\\\\_\\\\_\\\\_\\\\_");
См.
\
- escape-символ в строках Java. Таким образом, чтобы обозначить литерал \
, вам нужно экранировать его с другим \
как \\
.
\
также является escape-символом для двигателя регулярных выражений. Таким образом, \\
в строке Java будет отправлено в механизм регулярных выражений как \
, который не обрабатывается буквально, а вместо этого будет использоваться для экранирования следующего символа.
Чтобы передать \\
в механизм регулярных выражений, вам нужно иметь \\\\
в строке Java.
Поскольку вы заменяете строку (не образец) другой строкой, действительно не требуется регулярное выражение , вы можете использовать метод replace
класса String
как:
input = input.replace("World", "\\_\\_\\_\\_\\_");
См.