空字符串的split

博主原本以为某值为零,在Java和JavaScript里测试后发现结果都是1,觉得奇怪并进行备忘。

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

本来以为是零,但是在java和js里试了以后发现居然都是1,很是奇怪,备忘一下。。。

### Java中使用split方法去除空字符Java中,`split` 方法的正则表达式参数决定了如何分割字符串。如果需要去除结果中的空字符,可以通过以下方式实现: #### 使用正则表达式 `+` 通过在正则表达式中使用 `+` 修饰符,可以匹配一个或多个连续的分隔符。例如,当使用 `","` 作为分隔符时,若字符串中存在连续的逗号(如 `",,"`),默认情况下会生成空字符。而使用 `",+"` 可以避免这种情况[^2]。 ```java String ss = "aa,,sas,,sasa,,,,sasas,,,"; String[] array = ss.split(",+"); System.out.println(Arrays.toString(array)); ``` 上述代码中,`",+"` 表示匹配一个或多个连续的逗号,因此不会产生空字符。 #### 示例代码 以下是完整的代码示例,展示如何使用 `split` 方法去除空字符: ```java public class TestSplit { public static void main(String[] args) { // 示例1:去除连续逗号导致的空字符 String ss1 = "aa,,sas,,sasa,,,,sasas,,,"; String[] array1 = ss1.split(",+"); System.out.println("去除空字符后的结果:" + Arrays.toString(array1)); // 示例2:去除连续格导致的空字符 String ss2 = "aa sas sa sa sas as "; String[] array2 = ss2.split("\\s+"); System.out.println("去除空字符后的结果:" + Arrays.toString(array2)); } } ``` #### 输出结果 运行上述代码后,输出如下: ``` 去除空字符后的结果:[aa, sas, sasa, sasas] 去除空字符后的结果:[aa, sas, sa, sa, sas, as] ``` 从输出可以看到,通过使用正则表达式 `+`,成功去除了结果中的空字符[^3]。 #### 注意事项 - 如果正则表达式中没有使用 `+` 或其他量词符号,则可能会生成空字符。例如,`"aa,,sas".split(",")` 会生成包含空字符的结果。 - 在处理用户输入时,建议始终考虑可能存在的多余分隔符,并合理设计正则表达式以避免空字符的出现[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值