1、split的api說明
stringObj.split([separator,[limit]])
stringObj:要被分解的 String
separator:字符串或正則表達式對象
limit:參數控制模式應用的次數。當為正值:模式將被最多應用 n - 1 次。當負值:模式將被應用盡可能多的次數,
2、案例:空字符串不被解析
public class test { public static void main(String[] args) { String str = "1,2,3,4,,,"; String[] arr = str.split(","); for (String string : arr) { System.out.println("str"+string); } System.out.println(arr.length); } }
結果:
str1
str2
str3
str4
4
3、解決辦法
方法1:limit賦值成比該字符串被分隔成字符數組后數組的長度大很多的值,這能保證所有為空的都能被解析,
方法2:limit設置為非正,也能全部解析
public class test { public static void main(String[] args) { String str = "1,2,3,4,,,"; String[] s = str.split(",",-1); for (String string : s) { System.out.println("str"+string); } System.out.println(s.length); } }
輸出:
str1
str2
str3
str4
str
str
str
7
注意:
1、如果用“.”作為分隔的話,必須是如下寫法,String.split("\\."),這樣才能正確的分隔開,不能用String.split(".");
2、如果用“|”作為分隔的話,必須是如下寫法,String.split("\\|"),這樣才能正確的分隔開,不能用String.split("|");