在Java 中使用保留的空值拆分字串
使用String.split() 方法執行字串拆分時,會發生意外行為,其中連續的分隔符號會導致從結果陣列中刪除空值。但是,期望可能是保留這些空值以保留資料的原始順序和結構。
String data = "5|6|7||8|9||"; String[] split = data.split("\|"); System.out.println(split.length);
在此範例中,使用預設的「split()」方法,僅傳回六個值:[5、6、7、8、9、空]。要保留空值,可以使用具有限制參數的 split() 重載版本。透過將限制設為負值,將保留空值。
String[] split = data.split("\|", -1);
split(regex, limit)的文件指出,當限制為非正數時,該模式將被應用多次盡可能允許結果數組具有任意長度,並且尾隨空字串將是
異常:
需要注意的是,只有在分割過程中建立了這些空字串時,刪除尾隨空字串才有意義。例如,用任意分隔符號分割空字串 ("") 將產生包含空字串的陣列:["", ""]。這是因為沒有執行任何拆分,因此原始字串本身在數組中表示為空字串。
以上是在Java中分割字串時如何保留空字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!