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

前端之家收集整理的这篇文章主要介绍了在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.

猜你在找的Java相关文章