Java中的字符串拆分函数

时间:2014-07-28 07:21:39

标签: java android string

我有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]

有人可以提出解决此问题的建议吗。

3 个答案:

答案 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