Java里String.split需要注意的用法

我们常常用String的split()方法去分割字符串,有两个地方值得注意:

 

1. 当分隔符是句号时("."),需要转义:

由于String.split是基于正则表达式来分割字符串,而句号在正则表达式里表示任意字符。

//Wrong:
//String[] words = tmp.split(".");

//Correct:
String[] words = tmp.split("\\.");

所以,假设分隔符在正则表达式里有一定的意义时,需要格外留心,必须将它们转义才能达到分割的效果。

 

2. 假设字符串最后有连续多个分隔符,且这些分隔符都需要被分割的话,需要调用split(String regex,int limit)这个方法:

String abc = "a,b,c,,,";
String[] str = abc.split(",");
        
System.out.println(Arrays.toString(str)+" "+str.length);
        
String[] str2 = abc.split(",",-1);
        
System.out.println(Arrays.toString(str2)+" "+str2.length);

输出如下:

[a, b, c] 3
[a, b, c, , , ] 6

需要输出csv文件的时候,尤其需要注意。

Java里String.split需要注意的用法,布布扣,bubuko.com

Java里String.split需要注意的用法

上一篇:java中的排列组合


下一篇:微信分享功能开发