String类的split方法不包括尾随空字符串

时间:2010-01-31 04:35:39

标签: java regex

  

可能重复:
  Java split() method strips empty strings at the end?

String类的split方法不包括它返回的数组中的尾随空字符串。我如何克服这个限制:

class TestRegex{
 public static void main(String...args){
  String s = "a:b:c:";    
  String [] pieces = s.split(":");

  System.out.println(pieces.length); // prints 3...I want 4.
 }
}

1 个答案:

答案 0 :(得分:19)

根据documentation

  

此方法就像通过调用一样工作   两个参数的分裂方法   给定表达式和限制参数   为零。

对于带有limit参数的拆分,它说:

  

如果n是非正数,那么模式   将被应用多次   可能,阵列可以有任何   长度。如果n为零则为模式   将被应用多次   可能,阵列可以有任何   长度和尾随空字符串   将被丢弃。

因此,尝试使用非正限制参数调用split方法,如下所示:

String[] pieces = s.split(":", -1);