欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java字符串的split(String str)方法空串的问题

程序员文章站 2022-03-13 11:29:11
String strs[] = "SS1BB2CC3".split("\\D+"); 结果如下 在1上面有一个看不见的空串。 大概可以猜测得到,split的行为,比如下面有一个串: ",1,2,3".split(","); 结果是 "" 1 2 3 只能说,这行为太jb傻了吧!无法忍受!算法思路可能 ......

String strs[] = "SS1BB2CC3".split("\\D+");

 1     public static String Test(){
 2         Date d = new Date(milli);
 3         String strs[] = "SS1BB2CC3".split("\\D+");
 4     
 5         for (int i = 0; i < strs.length; i++) {
 6             System.out.println(strs[i]);
 7 
 8         }    
 9         return null;
10     }

结果如下

1
2
3

在1上面有一个看不见的空串。

大概可以猜测得到,split的行为,比如下面有一个串:

",1,2,3".split(",");

结果是

""  

1

2

3

只能说,这行为太jb傻了吧!无法忍受!算法思路可能是遇到,就把前面的元素扔进数组里,前面没元素就扔个空串进去!最后的3右边没有,就默认当成最后一个字符串扔进数组里。

第一次遍历串“,1,2,3”       数组:

第二次遍历串“1,2,3”          数组:“”

第三次遍历串“2,3”               数组:“”  1

第四次遍历串“3”                     数组:“” 1 2 

遍历完毕                                数组:“” 1 2 3