簡體   English   中英

Java split函數給了我一小段結果String數組

[英]Java split function gives me a small length of result String array

我有這個代碼:

String string = "_a_b___";
String[] parts = string.split("_");

結果是可變部分只有三個元素

parts[0] = ""
parts[1] = "a" 
parts[2] = "b"

這很奇怪,因為有五個“_”字符,所以在分裂之后應該有六個元素,而不僅僅是三個元素。

我想要

parts[0] = ""
parts[1] = "a"
parts[2] = "b"
parts[3] = ""
parts[4] = "" 
parts[5] = "" 

怎么做? 非常感謝你!

Java文檔 : -

因此,結尾的空字符串不包含在結果數組中。

嘗試split("_",6)

@Zakir的解決方案是正確的,我會添加另一個信息來完美地使用它,以獲得你想要的而不是使用split("_", 6)你可以概括它並使用:

String[] parts = string.split("_", string.replace("(?!_)", "").length());

哪個可以接受任何長度。

對於_a_b___你會得到[, a, b, , , ] _a_b___ [, a, b, , , ]


編輯

或者像@Bill F在評論中提到的那樣,你也可以使用String[] parts = string.split("_", -1); 任何長度也是如此。 Java doc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM