作者TsaiCF (Feng)
看板java
標題Re: [問題] 分割字串的問題, 求救 >"<
時間Thu May 2 21:04:29 2013
如版主說的, 找 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
推 coolcomm:簡單來說就是 state machine ... 05/02 21:41
→ bera:感謝提供連結, 我努力化中~~ 05/03 09:13
→ bera:感謝TsaiCF, 我試試看~~ 05/03 09:21