【问题标题】:How to remove the backslash in string using regex in Java?如何使用 Java 中的正则表达式删除字符串中的反斜杠?
【发布时间】:2011-01-15 14:12:15
【问题描述】:

如何在 Java 中使用正则表达式去除字符串中的反斜杠?

例如:

hai how are\ you?

我只想要:

hai how are you?

【问题讨论】:

    标签: java regex


    【解决方案1】:
    str = str.replaceAll("\\\\", "");
    

    str = str.replace("\\", "");
    

    replaceAll() 将第一个参数视为正则表达式,因此您必须对反斜杠进行双重转义。 replace() 将其视为文字字符串,因此您只需将其转义一次。

    【讨论】:

    • 嗨,如果有一个场景是'hai \你好吗? ,我们如何编写正则表达式来删除最后一个'\',这将导致 hai \你好吗?
    【解决方案2】:

    您可以简单地使用String.replaceAll()

     String foo = "hai how are\\ you?";
     String bar = foo.replaceAll("\\\\", "");
    

    【讨论】:

    • 嗯...是这样吗?您不需要两次转义“\”吗?一次用于文字字符串,一次用于正则表达式;例如foo.replaceAll("\\\\", "")
    【解决方案3】:

    String foo = "嗨,你好吗?"; 字符串 bar = foo.replaceAll("\\", "");不工作 发生java.util.regex.PatternSyntaxException....找出原因!! @Alan 已经回答了.. 好

    String bar = foo.replace("\\", "");有用吗

    【讨论】:

      猜你喜欢
      • 2015-07-14
      • 2017-04-22
      • 2020-07-23
      • 2012-12-03
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多