Java
split()
StringTokenizer
起因於我寫了一支程式需要讀取整個資料庫,只要取出第一行(欄位名稱),並列出該資料庫有哪些欄位
資料庫的欄位名稱用逗號分隔,因此必須把第一行的字串以逗號為基準切割
- split()
- StringTokenizer
split()
String line = "NARUTO,One Piece,Detective Conan,SAKURA,Alive";
// 將 line 字串以逗號分割,並存在 split_line 字串陣列中
String[] split_line = line.split(",");
基本上這樣就分割完成了
但是使用System.out.println(split_line);
只會 print 出 [Ljava.lang.String;@4101f2ae
若想看分割結果
String show_split_line = "";
for (String s: split_line) {
show_split_line = show_split_line + "[" + s + "]";
}
System.out.println(show_split_line);
輸出結果: [NARUTO][One Piece][Detective Conan][SAKURA][Alive]
StringTokenizer
效率比 split() 高
- countTokens(): String 被分割成幾段
- hasMoreTokens():檢查 StringTokenizer 是否還有 Token
- nextToken():將 StringTokenizer 的下一個 Token 用 String 表示
String line = "NARUTO,One Piece,Detective Conan,SAKURA,Alive";
StringTokenizer st = new StringTokenizer("line", ",");
while (st.hasMoreTokens()){
System.out.println(st.nextToken());
}
輸出結果 (會自動換行)
NARUTO
One Piece
Detective Conan
SAKURA
Alive
Reference:
[1] http://dreammushroomsprogramnotes.blogspot.tw/2015/08/stringsplit-for-java.html
[2] http://www.cnblogs.com/gaopeng527/p/4899237.html
[3] http://gn00466269.blogspot.tw/2015/10/javastringtokenizer.html