[英]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] = ""
怎么做? 非常感謝你!
@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.