在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,自动去除尾部为空的字符串
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,不会自动去掉尾部
String ss = "1,,5,6";
String sss[] = ss.split(",",3);
System.out.println(sss.length);//返回数组长度3,后面的5,6会被合并为一项
String ss = "1,";
String sss[] = ss.split(",",3);
System.out.println(sss.length);//返回长度为2,后面空不会被去掉
java split(regex)和split(regex, limit)方法的使用技巧,布布扣,bubuko.com
java split(regex)和split(regex, limit)方法的使用技巧
原文地址:http://blog.csdn.net/shikai0302/article/details/25226367