码迷,mamicode.com
首页 > 编程语言 > 详细

java split(regex)和split(regex, limit)方法的使用技巧

时间:2014-05-08 00:11:49      阅读:417      评论:0      收藏:0      [点我收藏+]

标签:java   字符串 split   

在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


ss.split(regex, limit)这个方法返回的数组长度最多为limit

比如:代码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,后面空不会被去掉


这样是不是两个方法的区别就非常明显了

java split(regex)和split(regex, limit)方法的使用技巧,布布扣,bubuko.com

java split(regex)和split(regex, limit)方法的使用技巧

标签:java   字符串 split   

原文地址:http://blog.csdn.net/shikai0302/article/details/25226367

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!