Java Split注意事项

来源:互联网 发布:sopcast软件1.28版本 编辑:程序博客网 时间:2024/05/16 18:01

使用String的split方法分割字符串时,会发现split会忽略尾部的分隔符。

代码如下(注import org.apache.commons.lang.StringUtils;):

String string = ",1,,3,";String separator = ",";System.out.println("1:"+string.split(separator).length);System.out.println("2:"+string.split(separator, 0).length);System.out.println("3:"+string.split(separator, -1).length);System.out.println("4:"+StringUtils.split(string, separator).length);System.out.println("5:"+StringUtils.splitByWholeSeparator(string, separator).length);System.out.println("6:"+StringUtils.splitPreserveAllTokens(string, separator).length);

执行结果:

1:42:43:54:25:36:5

由此可见,

java.lang.Stringsplit(String regex) //查看源码,调用的是split(String regex, 0),会忽略尾部的分隔符split(String regex, int limit)  //limit为0时,忽略尾部的分隔符;limit为-1时,不忽略org.apache.commons.lang.StringUtilssplit(String str, String separatorChars)    //忽略所有的splitByWholeSeparator(String str, String separatorChars)    //忽略首尾的splitPreserveAllTokens(String str, String separatorChars)   //不忽略
原创粉丝点击