【问题标题】:how to check the pipe symbol in java如何在java中检查管道符号
【发布时间】:2015-01-28 07:00:46
【问题描述】:

如果我想检查正则表达式中的管道符号如下所示:

之前我对 csv 数据使用了以下代码:

fields = rowline.replaceAll("^\"", "").split(
                    "\"?(,|$)(?=(([^\"]*\"){2})*[^\"]*$) *\"?");

现在我想更改上面的代码,以检查管道 (|) 分隔的数据。

【问题讨论】:

  • | 是正则表达式中的一个特殊字符。您必须在 java 中使用 2 个反斜杠来转义它
  • 使用:split( "\"?(\\||$)(?=(([^\"]*\"){2})*[^\"]*$) *\"?");
  • 你能解释一下这个正则表达式吗,提前谢谢。

标签: java regex split


【解决方案1】:

| 的特殊含义是OR'\|' 表示文字'|',所以字符串"\\|" 表示正则表达式'\|',表示完全匹配字符'|'

String[] list_str = line.split("\\|");

或者正是为此目的而创建的助手Pattern.quote()

string.split(Pattern.quote("|"))

【讨论】:

  • 非常感谢 ankur 的出色回应。你能帮我理解正则表达式吗?
猜你喜欢
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多