2012-11-11 63 views
4
之間分割字符串由commnas,忽略逗號

可能重複:
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

你以CSV格式處理輸入數據? – sourcedelica

+0

感謝您的鏈接,m.buettner,它工作的很棒! – opensas

回答

6

拆分與此正則表達式,它應該工作:,(?=([^\"]*\"[^\"]*\")*[^\"]*$)