Re: [問題] 分割字串的問題, 求救 >"<

看板java作者 (有些事,有時候。。。)時間12年前 (2013/05/07 09:56), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串6/6 (看更多)
有時候看這類的需求, 不太複雜能用字串切割搞定的卻用了 Regular Expression 用 Regular Expression 寫會很快的,卻被遺忘了 Orz import java.util.regex.Matcher; import java.util.regex.Pattern; public class Foo { public static void main(String[] args) { Pattern pattern = Pattern.compile("(\"[^\"]+\"),?|([^,]+),?"); String str = "小尚,\"Abby, Sun\",girl,0911-XXX0L9,si,1988/11/20"; Matcher matcher = pattern.matcher(str); while (matcher.find()) { if (matcher.group(1) != null) { System.out.println(matcher.group(1)); } if (matcher.group(2) != null) { System.out.println(matcher.group(2)); } } } } 用 2 組規則去 match 它, 1. 含 " 的字串,就設它中間的任何字元不會出現 " 看到 ", 就停下 2. 另外正常的規則,就是內部不會再出現 逗號 看到 逗號就停下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.128.164 ※ 編輯: qrtt1 來自: 220.130.128.164 (05/07 09:57)

05/07 10:15, , 1F
推!! 其實可以簡化成(\"[^\"]+\"|[^,]+),? 只要看group1
05/07 10:15, 1F

05/07 10:29, , 2F
順便處理csv中的""的問題(\"(?:\"\"|[^\"])+\"|[^,]+),?
05/07 10:29, 2F

05/07 10:44, , 3F
改得太棒了
05/07 10:44, 3F

05/07 14:04, , 4F
我只想到要處理\n的問題,還有"''" or '""'等跳脫~re比較好
05/07 14:04, 4F
文章代碼(AID): #1HY5ysdq (java)
討論串 (同標題文章)
文章代碼(AID): #1HY5ysdq (java)