相关文章推荐
谦虚好学的大脸猫  ·  Echarts ...·  4 周前    · 
道上混的饭盒  ·  Get-Date ...·  1 周前    · 
喝醉的羽毛球  ·  DataGridColumn.SortMem ...·  1 周前    · 
读研的面包  ·  如何使用XWPF - Apache ...·  2 年前    · 
大鼻子的奔马  ·  在Oracle SQL Developer ...·  2 年前    · 
八块腹肌的大葱  ·  Select-String ...·  2 年前    · 


对于一些特殊的情况,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


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