我正在寻找一种适当且强大的方法来查找和替换独立于任何操作系统平台的所有newline
或breakline
字符。String
\n
这是我尝试过的,但效果并不好。
public static String replaceNewLineChar(String str) {
try {
if (!str.isEmpty()) {
return str.replaceAll("\n\r", "\\n")
.replaceAll("\n", "\\n")
.replaceAll(System.lineSeparator(), "\\n");
}
return str;
} catch (Exception e) {
// Log this exception
return str;
}
}
例子:
输入字符串:
This is a String
and all newline chars
should be replaced in this example.
预期的输出字符串:
This is a String\nand all newline chars\nshould be replaced in this example.
但是,它返回了相同的输入字符串。就像它放置 \n 并再次将其解释为换行符。请注意,如果您想知道为什么有人想要\n
在那里,这是用户将字符串放在 XML 后缀中的特殊要求。