Я не думаю, что следующее будет работать должным образом с String#replaceAll
:
myText.replaceAll("\\r\\n", "\n")
Причина в том, что String#replaceAll
ожидает регулярное выражение, и чтобы избежать \
, вам нужно другой \
, но поскольку это шаблон регулярного выражения, вам понадобится еще одна пара \\
(как вы это делаете, например, в \\s
).
Это должно быть
myText.replaceAll("(\\\\r\\\\n)", "\n");
это означает, что \r\n
будет заменено на \n
.
В качестве альтернативы, вы можете использовать String # replace , который ожидает, что строка будет заменена вместо регулярного выражения как в случае с String # replaceAll т.е. myText.replace("\\r\\n", "\n")
будет работать так же, как myText.replaceAll("(\\\\r\\\\n)", "\n")
.
public class Main {
public static void main(String[] args) {
String myText = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\\r\\n\n" + "\n"
+ "Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus\\r\\n\n" + "\n"
+ "et magnis dis parturient montes, nascetur ridiculus mus.\\r\\n \n" + "\n" + "Don12345";
System.out.println(myText);
System.out.println("---------------------------------------------------------------------------");
String result = myText.replaceAll("(\\\\r\\\\n)", "\n");
System.out.println(result);
}
}
Вывод:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\r\n
Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus\r\n
et magnis dis parturient montes, nascetur ridiculus mus.\r\n
Don12345
---------------------------------------------------------------------------
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Don12345