Проблема в том, что \
является escape-символом в java , а также шаблонах регулярных выражений. Если вы хотите сопоставить шаблон регулярного выражения \n
, скажем, и вы хотите написать
replaceAll("\n", "+");
Шаблон регулярного выражения не будет в итоге \n
: он будет фактически являться новой строкой, поскольку это то, что "\n"
означает в Java. Если вы хотите, чтобы pattern содержал обратную косую черту, вам нужно убедиться, что вы избегаете этой обратной косой черты, чтобы она не рассматривалась как специальный символ в строке.
replaceAll("\\s", "+");