12

可能重复:
Java:拆分逗号分隔的字符串但忽略引号中的逗号

显示一些代码更容易

我有以下内容:

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: split a comma-separated string but ignoring commas in quotes

4

1 回答 1

16

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

于 2012-11-11T22:18:44.287 回答