split函数第二个参数的用法

在论坛上看到了一个问题,然后兴起了对这个函数进一步探究的兴趣:

首先,使用只有一个参数的split:

public class SplitTest { /** * @param args */ public static void main(String[] args) { String str = "what,is,,,,that"; String[] strs = str.split(","); System.out.println(strs.length); } }
输出结果是6;但是,如果字符串变为"what,is,,,,"呢?看起来应该是5,其实不然,对用只有一个参数的函数split,输出结果是2测试代码:

public class SplitTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "what,is,,,,";
		String[] strs = str.split(",");
		System.out.println(strs.length);
	}

}
 
  



问题来了,如何将"what,is,,,,";

这个字符串按照逗号分隔,并且逗号之间没有内容的就存储为空呢?

很简单,用第二个split函数,将第二个参数设置为-1就可以了,测试代码如下:

public class SplitTest { /** * @param args */ public static void main(String[] args) { String str = "what,is,,,,"; String[] strs = str.split(",", -1); System.out.println(strs.length); } }

结果为6;


那么后边的这个int类型的参数是干么用的?很简单,设定利用split函数截取字符串,截取的结果的阀值。-1表示无限制,虽然直接用只有一个参数的split函数也是无限制,但是那样的话,后面如果分隔符之间为空的话,就不会截取。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值