ITOO云平台--新生入学-split对空字符分割处理

来源:互联网 发布:tomcat配置数据库 编辑:程序博客网 时间:2024/04/30 06:28
导读

在新生系统中有一些数据被格式后传递到后台,后台使用的时候按照规则解析,在解析数组中数据的时候用split()分割字符串出现了个小问题。分割后发现有信息丢失。


问题呈现 

分割前数组有8个元素,其中两个为空

分割代码

分割后,数组中元素为6个


了解split函数

   方法的作用是:将一个字符串分割为子字符串,然后将结果作为字符串数组返回


      stringObj.split([separator[limit]]) 


        stringObj要被分解的 String 对象或文字,该对象不会被split方法修改。
        separator :可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
       limit参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。


解决方案

由上可知,只要limit大于数据长度,分割后,空字符对象才不会被去除。

修改代码如下:

结果显示:






总结


1、用过好多次了,但是没有发现过这个问题,这次发现算是长见识了。

2、越发现,越有意思。

3、多读书,多读书。


参考资料

java中split()在遇到空有时不能成功分隔


0 0
原创粉丝点击