Split方法最后忽略逗号

时间:2013-11-19 10:01:22

标签: java string

当我在末尾分割带有多个逗号的字符串时,它们将在数组中被忽略。这是对的吗 ?

    String a = "a,b,c,,f,,";
    String[] sdf = a.split(",");
    for (int i = 0; i < sdf.length; i++) {
        System.out.println(sdf[i]);
    }

或者我错过了什么。

我得到的输出是

[a,b,c, ,f]   

我想考虑这些空白值,期待这样的事情

[a,b,c, ,f, ,] 

2 个答案:

答案 0 :(得分:3)

您需要使用:

public String[] split(String regex,
                  int limit)

并说:

String[] sdf = a.split(",", -1);

为了您的输入,它会产生:

[a, b, c, , f, , ]

引用documentation

  

如果n是非正数,那么模式将被应用多次   可能,阵列可以有任何长度。

答案 1 :(得分:0)

是的,这就是它的工作方式。

有关详细信息,请参阅this question的答案,包括如何绕过该行为。

(tl; dr:使用a.split(",", -1)包含空元素。)