对于一些特殊的情况,split拆分后并没有保留全的元素

如下例子:



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


 

输出结果:

Java中的split函数拆分后变成null的问题_分隔符

只拆分得到了第一个字母,后面默认的空字符串并没有保留。

 

后来想到了使用StringUtils函数,查了一下,修改为如下:



String x ="a,,,,,,";
String y[] = StringUtils.splitPreserveAllTokens(x,",");
for(int i=0;i<y.length;i++){
System.out.println(y[i]);
}


输出结果:

Java中的split函数拆分后变成null的问题_空字符串_02

Java中的split函数拆分后变成null的问题_数组_03

public static String[] splitPreserveAllTokens(String str, char separatorChar)

把字符串str拆分成一个数组,用字符(separatorChar)作为分隔符,并且保留所有的标识。

 

StringUtils函数还是很强大的,对于字符串的问题不会搞了看看这里还是不错的

如果当年搞ACM的时候,知道这个东西,很多问题都解决了 T_T

 


把每一件简单的事情做好,就是不简单;把每一件平凡的事情做好,就是不平凡!相信自己,创造奇迹~~