split函数结尾空字符串没存入数组

本文详细介绍了Java中String类的split方法使用技巧,特别是如何通过设置不同的limit参数来控制分割行为,确保能够保留结尾的空字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        String urls = " ; n ; ;"

        String[] strings = urls.split(";")

这样得到的数组元素个数只是两个,后面的”;”后没有内容,它没有作为空字符串成为数组元素,结尾的空字符串被丢弃了!

这个函数还有另一种重载方式 :public String [] split (String regex, int limit) 看下说明
limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n ,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。

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

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

        String urls = ";a;d;d;d;n;;";
        String[] strings = urls.split(";");
        String[] splits = urls.split(";", -1);
        for (int i = 0; i < strings.length; i++) {
            System.out.println(i+" : "+strings[i]);
        }
        for (int i = 0; i < splits.length; i++) {
            System.out.println(i+" : "+splits[i]);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值