Android字符串分隔之split

一.java.lang.String提供的split

在字符串分隔时,我们有时需要指定忽略或者不忽略某些分隔符,例如:

String string=":ab:cd:ef::";

①末尾分隔符全部忽略

System.out.println(string.split(":").length);

输出为4

String s[]={,ab,cd,ef};

②不忽略任何一个分隔符

System.out.println(string.split(":",-1).length);

输出为6

String s[]={,ab,cd,ef,,};


String的split方法用到的参数是一个正则式,虽然强大,但是有时候容易出错。例如

如果, 

String str = "aa.bb.cc.dd"; 

String[] strArray = str.split("."); 

则strArray.length结果为:0 

原因是String 的 split(String regex) 参数 String regex 是正则表达式 (regular expression) ,而不是普通字符串,而 "." 在正则表达式中有特殊含义,表示匹配所有单个字符。如果要那样拆分,我们必须给 "." 进行转义,String[] strArray = str.split(".") 修改为 String[] strArray = str.split("\\.") 即可。


二.org.apache.commons.lang.StringUtils提供的split(commons-lang.jar包)

它使用完整的字符串作为参数,而不是regex。

String string=":ab:cd:ef::";
①最前面和末尾的分隔符全部忽略

System.out.println(StringUtils.split(string.length);
输出为3

②不忽略任何一个分隔符

System.out.println(StringUtils.splitPreserveAllTokens(string, ":").length);
输出为6



另附上一篇commons-lang.jar包中部分类方法的介绍:

http://blog.csdn.net/u012816314/article/details/50331393



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值