【问题标题】:Java Regular Expression how to split special characters [duplicate]Java正则表达式如何拆分特殊字符[重复]
【发布时间】:2014-03-05 08:25:50
【问题描述】:

在 Java 正则表达式中,我想替换所有特殊字符以转义序列。我该怎么做。 示例 ::

//special chars ex "dd[u]i.* " to "dd//[u//]i//.//*"

【问题讨论】:

  • 您可能需要注意转义是使用 \ (反斜杠)而不是 / 完成的。
  • This answer 可能会有所帮助。

标签: java


【解决方案1】:

要转义所有特殊的正则表达式控制字符,可以使用此方法:

Matcher.quoteReplacement(String s)

它返回一个与s完全匹配的正则表达式。

这来自 javadoc:

返回指定字符串的文字替换字符串。此方法生成一个字符串,该字符串将用作 Matcher 类的 appendReplacement 方法中的文字替换 s。生成的 String 将匹配 s 中的字符序列,将其视为文字序列。斜杠 ('\') 和美元符号 ('$') 将没有特殊含义。

【讨论】:

    【解决方案2】:

    将java模式中的特殊字符作为普通字符进行拆分或处理。你必须反击它。 \\.; \\* 现在可能被视为“。”和'*'。

    【讨论】:

      猜你喜欢
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      相关资源
      最近更新 更多