首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 字串分割實戰:split、StringTokenizer 多重分隔符與限制參數完整指南

     編輯:Java 相關知識

詳細說明 String.split() 的 limit 參數行為、特殊字元跳脫、多重分隔符正則寫法,以及 StringTokenizer 計算分隔符數量的用法。

1. split() limit 參數行為

String s = "01111:aa:哈哈";
s.split(":");      // ["01111", "aa", "哈哈"] - 尾端空字串捨棄
s.split(":", -1);  // ["01111", "aa", "哈哈"] - 保留尾端空字串 (若有)
s.split(":", 1);   // ["01111:aa:哈哈"] - 限制最多 1 段,不分割

2. 特殊字元跳脫與多重分隔符

String s = "bulktree.oakertree.laoshulin";
String ss = "bulktree|oakertree|laoshulin";
String sss = "bulktree.oakertree|laoshulin";

s.split("\\.");           // 點號需雙重跳脫
ss.split("\\|");          // 管線符需跳脫
sss.split("\\.|\\|");     // 多重分隔符用 | 連接

3. StringTokenizer 用法

String s = "I am a student,bulktree";
StringTokenizer st = new StringTokenizer(s); // 預設空白分隔
st.countTokens();      // 回傳 token 數量 (分隔符數量+1)
while (st.hasMoreTokens()) {
  System.out.println(st.nextToken());
}
// 輸出: I / am / a / student,bulktree (逗號非預設分隔符)

注意事項

  • StringTokenizer 屬舊版 API,不支援正則表達式,新代碼建議使用 split()。
  • split("") 在 Java 8+ 會產生首位空字串,Java 7 不會,跨版本需測試。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved