我問這個問題早些時候被關閉,因爲它是一個重複的,這點我接受,實際上發現的問題Java: splitting a comma-separated string but ignoring commas in quotes的答案,所以拜誰發佈它。拆分上逗號的字符串不包含雙引號內與一捻
但我自從遇到的另一個問題。顯然,我需要做的是在零或偶數個雙引號內使用「,」作爲我的分隔符,但也忽略括號中包含的任何「,」。
所以下面:
"Thanks,", "in advance,", "for("the", "help")"
會爲記號化:
- 感謝,提前
- ,
- 爲(下稱 「」, 「幫助」)
我不知道是否有無論如何要修改當前的正則表達式我正在使用允許這一點,但任何指導將不勝感激。
line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
期望的結果是什麼? – DOK 2010-02-22 18:03:29
你應該使用一個真正的CSV解析器來處理這個混亂。不**每個**解析問題最好用正則表達式處理。 – 2010-02-22 18:04:54
@Joachim,你知道多少個CSV解析器能夠以他想要的方式在引號內處理括號內的引號? – 2010-02-22 18:25:45