【发布时间】:2015-01-16 11:53:14
【问题描述】:
编辑: 不是重复的,至少与问题中的那个人不一样,他在没有存储结果的情况下调用了 string.replace(...) 。我使用 replace 而不是 replaceALL,它允许使用正则表达式
我目前面临一个奇怪的问题。我正在尝试从字符串中删除所有空格。但不知何故,它对我不起作用。这是我正在使用的 it 函数的屏幕截图以及我从调试器获得的结果:
这是我正在使用的功能:
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 没有被删除吗?
【问题讨论】:
-
您注意到您的退货声明
return s1.equals(s2);忽略了s3? -
呃我的问题不是那个重复的问题,其他人的问题是他不知道 replace 不会更改字符串本身而是返回结果。我的问题更愚蠢:-P