微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Java中使用多个连续逗号分割字符串

参见英文答案 > How to split a comma-delimited string into an array of empty strings1个
String abc = "a,b,c,d,";
String[] arr = abc.split(",");
System.out.println(arr.length);

输出是4.但显然我的期望是7.这是我的解决方案:

String abc = "a,";
abc += "\n";
String[] arr = abc.split(",");
System.out.println(arr.length);

为什么会这样?有谁可以给​​我一个更好的解决方案?

解决方法

使用带有两个参数的字符串#split()的 alternative version来实现此目的:
String abc = "a,",-1);
System.out.println(arr.length);

这打印

7

从上面链接的Javadoc:

If n is non-positive then the pattern will be applied as many times as possible and the array can have any length. If n is zero then the pattern will be applied as many times as possible,the array can have any length,and trailing empty strings will be discarded.

原文地址:https://www.jb51.cc/java/126358.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐