连续逗号字符串分割成数组有值

本文探讨了Java中如何通过`split()`和`replaceAll()`方法处理连续逗号与空格的字符串,揭示了`split(-1)`的特殊含义,以及正则表达式替换在分割中的应用。

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

第一种方式:

public static void main(String[] args) {
    String str = ",,,,";
    System.out.println("空格字符串:" + str.split(",").length);
    System.out.println("空格字符串:" + str.split(",", -1).length);
}

查看结果发现两种方式得出来的结果不一样,正常情况下,我们一般都是第一种分割方式,得出来的数组值是空,数组长度为0

第二种分割方式是分割时使用, 一个limit来限定分割的结果,得出来的结果数组长度为5,这就是我们分割连续逗号字符串(全部是空格数组)。

PS:limit:参数控制模式应用的次数,因此影响所得数组的长度。

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

如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。

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

第二种方式:

public static void main(String[] args) {
    String str=",,,,";
    String string = str.replaceAll(",",", ");
    System.out.println("空格字符串:"+string.split(",").length);
    System.out.println("空格字符串:"+string.split(",",-1).length);
}

为了得出连续逗号字符串分割是有值,使用正则表达式进行替换,每个英文状态下的逗号被替换成应为状态下的逗号加空格。这样新的字符串再进行分割就可以了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值