服务器之家

服务器之家 > 正文

浅谈java String.split丢失结尾空字符串的问题

时间:2020-08-18 11:21     来源/作者:Java教程网

java中的split函数用于将字符串分割为字符数组是很方便的,但由于不是很熟悉,犯了错误

如下:

?
1
2
String strtest   = "1,2,";
String arry[]  = strtest.split(",");

这样得到的数组元素个数只是2两个,为什么呢,最后一个","后没有内容,它没有作为空字符串成为第三个数组元素,结尾的空字符串被丢弃了!

这个函数还有另一种重载方式 :public String [] split (String  regex, int limit) 看下说明limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n  - 1 次,数组的长度将不会大于 n ,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。

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

而对于函数 public String [] split (String  regex)该方法的作用就是使用给定的表达式和限制参数 0 来调用两参数 split方法。因此,所得数组中不包括结尾空字符串

所以如果不想让结尾的空字符串被丢弃,那么应该这样写:

?
1
2
String strtest    = "1,2,";
String arry[]  = strtest.split(",", -1);

以上这篇浅谈java String.split丢失结尾空字符串的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
最新idea2020注册码永久激活(激活到2100年)
最新idea2020注册码永久激活(激活到2100年) 2020-07-29
返回顶部