首页 > 代码库 > java split(regex)和split(regex, limit)方法的使用技巧
java split(regex)和split(regex, limit)方法的使用技巧
在java字符串方法中有一个非常好用的方法split(),该方法可以把字符串直接分割为数组此方法有两个重载。
一是:split(regex),参数为要分隔的字符串或者正则表达式。
二是:ss.split(regex, limit)。此方法可以的第二个参数一般不太常用,
这两个方法api给的解释是:limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。
两个方法的区别是split(regex)返回变长的数组,就是可以分割为多少项就返回多长的数组
比如:代码1
String ss = ",,";
String sss[] = ss.split(",");
System.out.println(sss.length);//返回数组长度为0,自动去除尾部为空的字符串
代码2
String ss = ",,3";
String sss[] = ss.split(",");
System.out.println(sss.length);//返回数组长度为3,前面空不自动去除
代码3 String ss = "1,2,";
String sss[] = ss.split(",");
System.out.println(sss.length);//返回数字长度3
比如:代码1
String ss = "1,,";
String sss[] = ss.split(",",3);
System.out.println(sss.length);//返回数组长度3,不会自动去掉尾部
代码2
String ss = "1,,5,6";
String sss[] = ss.split(",",3);
System.out.println(sss.length);//返回数组长度3,后面的5,6会被合并为一项
代码3
String ss = "1,";
String sss[] = ss.split(",",3);
System.out.println(sss.length);//返回长度为2,后面空不会被去掉
这样是不是两个方法的区别就非常明显了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。