我試圖用正則表達式來分隔csv文件的值,問題是圍繞句子的引號和我嘗試過的正則表達式似乎沒有做它正確。Java正則表達式for,之後沒有空格
"All's Well, Ends Well 2012",Comedy
這是包含在CSV字符串之一,我已經試過很多不同的正則表達式語句分離,但它只保留返回整個字符串沒有它分隔條件。
任何意見或解決有關我可以用於此正則表達式嗎?
我試圖用正則表達式來分隔csv文件的值,問題是圍繞句子的引號和我嘗試過的正則表達式似乎沒有做它正確。Java正則表達式for,之後沒有空格
"All's Well, Ends Well 2012",Comedy
這是包含在CSV字符串之一,我已經試過很多不同的正則表達式語句分離,但它只保留返回整個字符串沒有它分隔條件。
任何意見或解決有關我可以用於此正則表達式嗎?
使用正則表達式與split()
通過逗號分割,只有當偶數報價出現在休息的最佳選擇輸入:
String[] parts = line.split(",(?=(([^\"]*\"){2})*[^\"]*$)");
查看該代碼在一個live demo on ideone
謝謝你完美的作品^^我在處理中使用它,並不確定我是否可以包含外部庫。非常感謝 – Crossman
大概'執行(?:^ |)(\ 「(?:[^ \」] + | \ 「\」)* \ 「| [^,] *)'或更好的CSV解析器! – NINCOMPOOP
您應該使用CSV解析器庫 – Thilo
http://stackoverflow.com/questions/101100/csv-api-for-java – Thilo