区别
1.匹配分隔符分割字符串
- String.split是把分隔符当做一个整体,去字符串里面进行匹配切割,然后将字符串切割成字符数组。
- StringUtils.split()是先将分隔符分成一个一个的字符,然后再去字符串里面匹配这每一个字符,有任意一个字符匹配就进行分割。
- string.split()的分隔符参数其实是正则表达式,⽽StringUtils.split()的分隔符参数就只是个普通的字符串。
2.分割对于空字符串的处理
- StringUtils.split()会判断分割后的字符串是否为空,对空字符串进行过滤,空格不会被过滤。
- String.split()分割后会包含空字符串,但是切割后空字符串只存在字符数组头部的和中间的,在字符串末尾分割出现的空字符串就没有。
代码示例展示
1.代码
(1)导入commons-lang3依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>
(2)示例代码
public static void main(String[] args) {
stringSplit("dasdbgahdadasdasda","da");
}
public static void stringSplit(String str,String split){
System.out.println("原字符串:"+str);
String[] strArray1 = str.split(split);
System.out.println("String.split分割结果:"+Arrays.toString(strArray1));
String[] strArray2 = StringUtils.split(str,split);
System.out.println("StringUtils.split分割结果:"+Arrays.toString(strArray2));
}
2.结果
