參考:
http://yinny.iteye.com/blog/1750210
http://www.xuebuyuan.com/1692988.html
java中的split函數用於將字符串分割為字符數組是很方便的,但由於不是很熟悉,犯了錯誤
如下:
String strtest = “1,2,”;
String arry[] = strtest.split(“,”);
這樣得到的數組元素個數只是2兩個,為什么呢,最后一個”,”后沒有內容,它沒有作為空字符串成為第三個數組元素,結尾的空字符串被丟棄了!
這個函數還有另一種重載方式 :public String [] split (String regex, int limit) 看下說明
limit 參數控制模式應用的次數,因此影響所得數組的長度。如果該限制 n 大於 0,則模式將被最多應用 n - 1 次,數組的長度將不會大於 n ,而且數組的最后一項將包含所有超出最后匹配的定界符的輸入。如果 n 為非正,那么模式將被應用盡可能多的次數,而且數組可以是任何長度。如果 n 為 0,那么模式將被應用盡可能多的次數,數組可以是任何長度,並且結尾空字符串將被丟棄。
而對於函數 public String [] split (String regex)
該方法的作用就是使用給定的表達式和限制參數 0 來調用兩參數 split方法。因此,所得數組中不包括結尾空字符串
所以如果不想讓結尾的空字符串被丟棄,那么應該這樣寫:
String strtest = “1,2,”;
String arry[] = strtest.split(“,”, -1);