关于java中使用split方法丢失末尾空值

博客介绍了Java中split函数的使用。默认split方法会丢弃字符串末尾空值,中间空值会保留。还介绍了split函数的重载方式,根据limit参数不同,如大于0、非正、为0,会有不同的分割效果,影响所得数组长度和空值处理。

示例: 

String str = "1,2,";
String arr[] = str.split(",");

这样得到的数组元素个数只是2个。原因是,最后一个","后没有内容,它没有作为空字符串成为第三个数组元素,结尾的空字符串被丢弃了。使用默认的split方法时,会默认丢弃字符串末尾的空值,而字符串中间的空值则会作为数组中的一项数据,不会被丢弃。

split函数还有另一种重载方式 :public String [] split (String  regex, int limit) ,看下说明limit 参数控制模式应用的次数,因此影响所得数组的长度。

1、如果 n 大于 0,代表分割字符串后数组的最大长度,则模式将被最多应用 n  - 1 次,数组的长度将不会大于 n ,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。

2、如果 n 为非正,代表获取数组所有值,不会丢弃末尾空值,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。

3、如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值