split("\\|")與split("\\|",-1)的區別

今天處理文件時,使用split("\\|")切割每行數據,發現數據如下時,取最後一個字段報數組越界異常:

                                         a|b|c||     //arr[3]會報異常

百度了下發現:如果字符串最後分隔符裏的字段爲空,使用split("\\|")進行切割時,最後的空字段不會切割,這時字符串a|b|c||切割出來的數組大小爲3.取arr[3]就會報異常.

如果想要取arr[3]時不報異常,可以使用split("\\|",-1)進行切割,這樣切出來的數組大小爲4,arr[4]爲空字符串

 

 

PS: 如果是這樣的字符串:   a||b|c|       split("\\|")和split("\\|",-1)得到的結果是一樣的,數組大小爲4,arr[1]爲空字符串.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章