【问题标题】:How to use String#split with a backslash character?如何使用带有反斜杠字符的 String#split?
【发布时间】:2014-05-23 15:04:04
【问题描述】:

我想拆分这个字符串:

C:\RCOUNT2013\2013_Extracted\Weekly ODEN Notices Report.12-28-2013.2013-12-29 07-20-51.pdf.log.0

\ 上。正则表达式是什么?

string.split("\\ \")  // ?

【问题讨论】:

  • 我试图找到一个重复的,因为这很容易在网上找到,但 @arshajii 的回答已经足够 IMO 了。

标签: java regex string split


【解决方案1】:

在正则表达式中,\ 是转义字符,因此要获得 文字 \,我们需要对其进行转义:\\。但是,在Java字符串中,\也是一个转义字符,所以我们需要对每个\进行第二次转义,得到\\\\。因此,这就是你想要的:

str.split("\\\\")

【讨论】:

  • 投票赞成,因为这是解释使用四个原因的唯一答案\
  • @user3133300 很高兴我能帮上忙。
  • 为什么不是五个?我听到六声了吗?
【解决方案2】:

正则表达式为"\\\\"

在源码中:"\\\\"

编译后字符串为:"\\"

并且正则表达式解析器将此解释为look for a \,因此它匹配一个反斜杠'\'

【讨论】:

    【解决方案3】:
    split("\\\\")
    

    双转义“\”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 2012-04-19
      相关资源
      最近更新 更多