寫程式使用 split 切割不會注意到的陷阱
Contents
最近 JAVA 程式遇到一個奇怪錯誤
使用 split 針對 data 做分割
切割符號為 ^
最後發現是後面空白會合併空白
|
|
得到結果會是
|
|
後面的^資料都是空白的話,都不會在陣列
我一直以為別的程式語言也是這樣
JavaScript
|
|
等一下,Java 這邊好像是用 Regex
馬上找一下方法嘗試
|
|
結果還是一樣
PHP
|
|
|
|
都是
|
|
結果
Java 處理 Split 機制不太一樣
這邊可以看看 split 可以帶第二個參數
String.split()與com.sun.deploy.util.StringUtils.split()的區別
String.split()与StringUtils.split()的区别_卡卡_西瓜的博客-CSDN博客
|
|
apache 結果會跟下面一樣
找到我們想要的
org.apache.commons.lang3.StringUtils#splitPreserveAllTokens(str, separatorChar)
StringUtils (Apache Commons Lang 3.11 API)
org.apache.commons.lang3.StringUtils#splitByWholeSeparatorPreserveAllTokens(str, separator)
歡呼!!
Java 有沒有像 Python 一樣的 split? - 摸鱼
看來還滿多人苦惱這個
詳細解說
有爬到這篇Java 字符串 split 踩坑记
com.google.common.base.Splitter 這個比較是接近我們想要的