编辑: 不是重复,至少与问题链接中的人不一样,他调用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
的任何想法?
答案 0 :(得分:2)
这应该可以解决问题:
s3 = s3.replace("\n", "");
答案 1 :(得分:1)
尝试使用以下代码
s3= s3.replaceAll("\\s+","")
答案 2 :(得分:1)
replace(CharSequence target, CharSequence replacement)
将此字符串中与文字目标序列匹配的每个子字符串替换为指定的文字替换序列。
您需要将\n
替换为“”,即空白
s3 = s3.replace("\n", "");
答案 3 :(得分:-1)
使用
s3.replaceAll("\n","");
而不是
s3.replace("\n","");