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 = "dd";
String[] strArray = str.split(".");
则strArray.length结果为:0
java中split的用法原因是String 的 split(String regex) 参数 String regex 是正则表达式 (regular expression) ,⽽不是普通字符串,⽽ "." 在正则表达式中有特殊含义,表⽰匹配所有单个字符。如果要那样拆分,我们必须给 "." 进⾏转义,String[] strArray = str.split(".") 修改为 String[] strArray = str.split("\\.") 即可。
⼆.org.apachemons.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包中部分类⽅法的介绍:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。