Java 替换字符串中的 \n

Java replacing \n in String

编辑: 不是重复的,至少与链接问题中的那个人不是同一个问题,他在没有存储结果的情况下调用了 string.replace(...) 。我使用 replace 而不是 replaceALL,它允许使用正则表达式

我目前遇到了一个奇怪的问题。我正在尝试从字符串中删除所有空格。但不知何故,它对我不起作用。这是我正在使用的函数的屏幕截图以及我从调试器获得的结果:

这是我正在使用的函数:

public static boolean contentCompare(String s1, String s2) {
    String s3 = s1.replace("\s", "");
    s3 = s3.replace("\\n", "");
    s3 = s3.replace("\n", "");
    return s1.equals(s2);
}

调试时,我得到了 s1 和 s3 的这些值:

s1: \n\nWLS-Thread-Pool\nWLS-Thread-Pool\n\nClient\nClient\n\nDBS-Conn-Pool\nDBS-Conn-Pool\n\nDBS-Process-Pool\nDBS-Process-Pool\n\nWLS-CPU\nWLS-CPU\n\nDBS-PQ\nDBS-PQ\n\nDBS-CPU\nDBS-CPU\n\nDBS-I/O\nDBS-I/O\n\n\n\n

s3: \n\nWLS-Thread-Pool\nWLS-Thread-Pool\n\nClient\nClient\n\nDBS-Conn-Pool\nDBS-Conn-Pool\n\nDBS-Process-Pool\nDBS-Process-Pool\n\nWLS-CPU\nWLS-CPU\n\nDBS-PQ\nDBS-PQ\n\nDBS-CPU\nDBS-CPU\n\nDBS-I/O\nDBS-I/O\n\n\n\n

知道为什么 \n 没有被删除吗?

这应该可以解决问题:

s3 = s3.replace("\n", "");

使用

s3.replaceAll("\n","");

而不是

s3.replace("\n","");

试试下面的代码

s3= s3.replaceAll("\s+","")
replace(CharSequence target, CharSequence replacement)

用指定的文字替换序列替换此字符串中与文字目标序列匹配的每个子字符串。

您需要用“”替换\n,即空白

s3 = s3.replace("\n", "");