可能重复:
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
答案 0 :(得分:10)
使用此正则表达式拆分,它应该有效:,(?=([^\"]*\"[^\"]*\")*[^\"]*$)