split() 和 trim() 是字符串處理中最高頻的兩個方法。本文通過實例詳細講解其用法、參數細節、常見坑點及最佳實踐。
public String[] split(String regex)
public String[] split(String regex, int limit)
"." "|" "*" 等特殊字符需轉義limit > 0:最多分割 limit-1 次,最後元素包含剩餘內容limit < 0:無限制,尾部空串會被保留limit = 0:默認行為,尾部空串被丟棄
String log = "M 2.9 - 9km W of Alberto Oviedo Mota, Mexico";
// 按空格分割,取第二個元素
String magnitude = log.split(" ")[1]; // "2.9"
// 按逗號分割,取第二部分並去除首尾空格
String location = log.split(",")[1].trim(); // "Mexico"
" a b ".trim() → "a b"strip()、stripLeading()、stripTrailing() 使用 Unicode 空白字符定義,更規範| 場景 | 錯誤用法 | 正確用法 |
|---|---|---|
| 按點分割 | split(".") | split("\\.") 或 split("[.]") |
| 按管道符分割 | split("|") | split("\\|") |
| 保留尾部空欄位 | split(",") | split(",", -1) |
| 分割後為空數組 | 直接訪問 [0] | 先判斷 length > 0 |
Pattern:Pattern.compile(regex).split(str)StringTokenizer 或手寫解析