参见英文答案 >
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);
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.