关于java中String类型的split方法问题
问题
代码如下,原想使用String的split方法分割字符串,当时当分隔符“,”之间没有内容时,实际结果和预想结果不一样。
String str=",,,,";
String[] strs = str.split(",");
System.out.println(strs.length);
预想结果:5,
实际结果:0.
解决
将代码改为:
String str=",,,,";
String[] strs = str.split(",",-1);
System.out.println(strs.length);
预想结果:5,
实际结果:5.
问题解决
总结
split参数设置的问题。有一个limit参数可以指定切割的次数。limit默认是0,会有多少个分割符就切割几次,但后面的空字符串会被丢弃掉。如果要保留,可以把limit设为负数就可以了