Vous avez besoin:
str = str.replaceAll("World", "\\\\_\\\\_\\\\_\\\\_\\\\_");
See it.
\
est le caractère d'échappement dans les chaînes Java. Donc pour signifier un littéral \
vous devez lui échapper avec un autre \
comme \\
.
\
est le char d'échappement pour le moteur regex ainsi. Ainsi, une chaîne \\
en Java sera envoyée au moteur regex sous la forme \
qui n'est pas traitée littéralement mais sera utilisée pour échapper le caractère suivant.
Pour passer de \\
au moteur regex, vous devez avoir \\\\
dans la chaîne Java.
Puisque vous remplacez une chaîne (non motif) par une autre chaîne, il n'y a vraiment pas besoin de regex, vous pouvez utiliser la méthode replace
de la classe String
comme:
input = input.replace("World", "\\_\\_\\_\\_\\_");