我有String
,我希望将其拆分为","
如果假设我有一个类似的字符串,
String test = "aa,bb,cc";
现在我可以将其拆分,
String[] spl = test.split(",");
spl.length 3
如果假设我的字符串是
String test = ",,,";
此处,拆分字符串长度为 0 。但我的预期答案是 3 。
我的测试String
是动态值,它可能会有所变化,现在我觉得我有一个类似
String test = ",aa,dd,,,,,ff,gg"
现在,分割的数组长度 4 。但我预计答案 9 我需要按"" 进行拆分,我需要 spl [1] 和的 aa 位置> dd 位置为 spl [2] , ff 位置为 spl [7]
有人可以提出解决此问题的建议吗。
答案 0 :(得分:7)
使用split(),其中-1为限制
public static void main(String[] args) {
String test = ",,,";
System.out.println(Arrays.toString(test.split(",", -1))); // adds leading and trailing empty Strings .
// so effectively its like adding "" before , after and between each ","
String test1 = "aa,bb,cc";
System.out.println(Arrays.toString(test1.split(",",-1)));
}
O / P:
[, , , ] -- > Length =4
[aa, bb, cc]
答案 1 :(得分:2)
要获得您想要的行为,您只需更换"," by" ":
String test = ",,";
test = test.replace(",", " ,");
System.out.println((test.split(",").length));
答案 2 :(得分:0)
使用split()
函数,java按您选择的子字符串分隔String。如果它们之间没有任何内容,则该字段不会是null
,只会跳过它。
在其他编程语言中,你可能会遇到这样的事情:
String example = ',,,'
String[] example2 = example.split(',')
print(example2.length())
这也可以提供4.因为','
字符周围有4个空格:
1,2,3,4