相关文章推荐
坏坏的眼镜  ·  【Unity】2D ...·  1 月前    · 
文武双全的蚂蚁  ·  java - Cannot ...·  1 年前    · 
空虚的生姜  ·  Sqlalchemy.exc.Invalid ...·  1 年前    · 
耍酷的红烧肉  ·  python - CURL and ...·  1 年前    · 


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

如下例子:



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


输出结果:

Java中的split函数拆分后变成null的问题_i++

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

后来想到了使用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


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