java用split分割字符串的一個有趣現(xiàn)象
更新時間:2016年12月21日 10:12:10 作者:刺風
最近在項目中使用了java中的split分割字符串,發(fā)現(xiàn)了一個bug,充分了展示了自己對java底層的認知有很多的不足和欠缺。下面將這次的經過總結出來分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
下面有段代碼:
String str="1#2#3"; String[] strs=str.split("#"); System.out.println(strs.length);
ok,上面這段代碼最終輸出結果是2,這沒有問題,但是如果換成下面的寫法呢,請看:
String str="##"; String[] strs=str.split("#"); System.out.println(strs.length);
結果輸出是0,如果再換一種寫法呢,請看:
String str="1##"; String[] strs=str.split("#"); System.out.println(strs.length);
結果輸出是1,那么好了,如果我無論哪種情況都只想要2怎么辦,我寫了這樣一段轉換的代碼:
String str="##"; str=str.replaceAll("#", "v^#v^"); String[] strs=str.split("#"); for (int i = 0; i < strs.length; i++) { String text=strs[i].replaceAll("v\\^", ""); if("".equals(text)){ text="略"; } System.out.println(text); }
結果:
總結
好了,問題完美解決。以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關文章
Java實現(xiàn)的按照順時針或逆時針方向輸出一個數(shù)字矩陣功能示例
這篇文章主要介紹了Java實現(xiàn)的按照順時針或逆時針方向輸出一個數(shù)字矩陣功能,涉及java基于數(shù)組遍歷、運算的矩陣操作技巧,需要的朋友可以參考下2018-01-01Java實現(xiàn)用Freemarker完美導出word文檔(帶圖片)
這篇文章主要介紹了Java實現(xiàn)用Freemarker完美導出word文檔(帶圖片),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07Java畢業(yè)設計實戰(zhàn)之工作管理系統(tǒng)的實現(xiàn)
這是一個使用了java+SSM+Jsp+Mysql開發(fā)的工作干活管理系統(tǒng),是一個畢業(yè)設計的實戰(zhàn)練習,具有管理系統(tǒng)該有的所有功能,感興趣的朋友快來看看吧2022-02-02JDK14的新特性NullPointerExceptions的使用
這篇文章主要介紹了JDK14的新特性NullPointerExceptions的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04SpringSecurity跨域請求偽造(CSRF)的防護實現(xiàn)
本文主要介紹了SpringSecurity跨域請求偽造(CSRF)的防護實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07