【问题标题】:scala: split string by commnas, ignoring commas between quotes [duplicate]scala:按逗号分割字符串,忽略引号之间的逗号[重复]
【发布时间】:2012-10-31 09:37:08
【问题描述】:

可能重复:
Java: splitting a comma-separated string but ignoring commas in quotes

显示一些代码更容易

我有以下几点:

scala> val a = """op1,"op2.1,op2.2",,op4""".split(",")
a: Array[java.lang.String] = Array(op1, "op2.1, op2.2", "", op4)

scala> a.foreach( println )
op1
"op2.1
op2.2"

op4

我想要

scala> val a = """op1,"op2.1,op2.2",,op4""".split(",")
a: Array[java.lang.String] = Array(op1, "op2.1, op2.2", "", op4)

scala> a.foreach( println )
op1
op2.1, op2.2

op4

但我不知道用什么正则表达式来分割字符串

-- 编辑--

我在这个问题中找到了答案:Java: splitting a comma-separated string but ignoring commas in quotes

【问题讨论】:

  • 您是否正在处理 CSV 格式的输入数据?
  • 感谢您的链接,m.buettner,效果很好!!!

标签: regex parsing scala


【解决方案1】:

用这个正则表达式拆分,它应该可以工作:,(?=([^\"]*\"[^\"]*\")*[^\"]*$)

【讨论】:

  • 太完美了!
猜你喜欢
  • 1970-01-01
  • 2012-10-30
  • 2012-05-23
  • 2017-04-07
  • 2020-04-05
  • 1970-01-01
  • 2013-04-02
  • 2013-10-14
  • 1970-01-01
相关资源
最近更新 更多