【问题标题】:Java replacing \n in String [duplicate]Java替换字符串中的\ n [重复]
【发布时间】: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

标签: java replace


【解决方案1】:

这应该可以解决问题:

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

【讨论】:

  • 该死的,现在我觉得自己很愚蠢 :-) 这行得通。我现在是否以某种方式删除我的问题/将其标记为已解决?我是新来发帖的
  • @SimonEismann 将回复标记为已接受
  • 它说我仍然需要等待 10 分钟才能接受它:-(
【解决方案2】:

试试下面的代码

s3= s3.replaceAll("\\s+","")

【讨论】:

    【解决方案3】:
    replace(CharSequence target, CharSequence replacement)
    

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

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

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

    【讨论】:

    • @Tom 感谢汤姆编辑了我的答案
    【解决方案4】:

    使用

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

    而不是

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

    【讨论】:

    • 替换也可以:“用指定的文字替换序列替换此字符串中与文字目标序列匹配的每个子字符串。” docs.oracle.com/javase/6/docs/api/java/lang/…, java.lang.CharSequence)
    • 由于\n 只是一个字符,所以使用#replace 就可以了。不要对"All" 感到困惑。这并不意味着这将替换 all 的出现(其他也这样做),它只是意味着此方法可以替换多个字符串。 #replaceAll 允许使用正则表达式,#replace 不允许。
    • 这解决了我遇到的另一个问题,我的第一个 replace(\s) 实际上没有做任何事情。使用 replaceAll("\s", "") 可以正确解决我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2020-01-15
    • 1970-01-01
    • 2011-10-10
    • 2013-02-20
    • 1970-01-01
    相关资源
    最近更新 更多