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

看板java作者 (Feng)時間12年前 (2013/05/02 21:04), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串3/6 (看更多)
如版主說的, 找 CSV parser 的 lib 比較快 但小心有些版本實作在處理換行字元時,跟 EXCEL 剖析的結果不太一樣 有些版本則是處理 "" 不太相同。 要問實作思路的話,一般會取得 char array,再逐字處理。 // //以下是程式片段的空殼.... // //================================= //List<String> allToken //StringBuilder resultToken //boolean tokenBlock //boolean quoteBlock // char content[] = str.toCharArray(); for (int i = 0; i < content.length; i++) { switch (content[i]) { case ',': // , 處理,看是否在雙引號區域內 // do something break; case '\"': // 雙引號區域相關判斷 // 有些判斷要看 content[i + 1] // do something break; default: // doSomething break; } if (!tokenBlock) { // 遇到分隔用,後的第一個字元,可取出前一個 token allTokens.add(resultToken.toString()); resultToken.setLength(0); } } ※ 引述《bera (k.k)》之銘言: : 而進階的資料可能會像 : String str = : "小尚,\"Abby, Sun\",girl,0911-XXX0L9,\"si, Tokyo, Relax~~\",1988/11/20"; : 這樣的形式 : 不知道可不可以請教一下思路呢? 謝謝~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.20.54

05/02 21:41, , 1F
簡單來說就是 state machine ...
05/02 21:41, 1F

05/03 00:04, , 2F
http://lmgtfy.com/?q=CSV+BNF 或者用這種方式寫??
05/03 00:04, 2F

05/03 09:13, , 3F
感謝提供連結, 我努力化中~~
05/03 09:13, 3F

05/03 09:21, , 4F
感謝TsaiCF, 我試試看~~
05/03 09:21, 4F
文章代碼(AID): #1HWcHZCF (java)
討論串 (同標題文章)
文章代碼(AID): #1HWcHZCF (java)