java 使用split时易犯的错误

2010-04-30  张东升 

       String str="1,2,4,5,,,,";
       String []array=str.split(",");
        此时array的元素个数是多少呢? 答案是4
        String str="1,2,4,5,,,,7";
       String []array=str.split(",");
       现在呢?答案是8
        str.split(",")使用逗号做为分割符,将字符串分成一个个小份,那为什么第一次和第二次分的结果却是不同呢?
        原来,第一次分时,最后面的均是空字符串,所以被舍弃,而第二次最后面有一个“7”,所以并没有舍弃
        那么应该怎样来处理第一种情况呢?
        String []array=str.spilt(",",-1);
        如果后面加一个为负的参数,就可以保证不将最后为空的部分舍弃
        如果后面是0,那么等同于str.split(",")
        如果是一个正整数,假设为3,则执行两次分割,如果为10,理论上执行9次分割,但没那么多逗号,就按尽可能多的次数分割。
430°/4305 人阅读/0 条评论 发表评论

登录 后发表评论