Java 字串拆分排除空值
使用split() 方法拆分字串時,拆分操作產生的空值是通常從結果數組中刪除。這可能會導致意外結果,尤其是在處理可能包含空值的字串時。
考慮以下程式碼片段:
String data = "5|6|7||8|9||"; String[] split = data.split("\|"); System.out.println(split.length);
在上面的範例中,預期輸出是一個陣列有8 個元素:[5,6,7,EMPTY,8,9,EMPTY ,EMPTY]。然而,實際輸出只有 6 個值,不包含空值。
為了解決這個問題並確保結果陣列中包含空值,我們可以使用 split() 方法的重載版本:將附加限制參數設為負值。
String[] split = data.split("\|", -1);
將限制參數設為 -1,我們表明應用分割模式的次數沒有限制。這可以防止從結果數組中排除尾隨空字串的預設行為。
split() 方法文件指出,如果限制大於零,則模式將應用於該限制和結果數組長度不超過限制。如果限制為非正數,則該模式將被應用盡可能多次,並且產生的陣列可以具有任意長度。
需要注意的是,排除尾隨空字串的預設行為僅適用於空作為分割操作的結果而建立的字串。如果原始字串中已經存在空字串,它仍然會包含在結果陣列中。
透過理解 split() 方法的行為並有效利用 limit 參數,我們可以控制包含或排除結果陣列中的空值,確保我們的分割操作產生所需的結果。
以上是分割 Java 字串時如何保留空字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!