2013-11-15 43 views
1
删除一个空字符串

我输入的字符串如何从阵列

String s = ",1,,2, ,3,4,5,,6"; 
String[] array = s.split(","); 
System.out.println(Arrays.toString(array)); 

现在我得到这个输出

[, 1, , 2, , 3, 4, 5, , 6] 

但预计产量

[1, 2, 3, 4, 5, 6] 
+0

让你更好的输入字符串。这不是我希望的真实生活场景吗? –

回答

2

试试这个

s.replaceAll("^[, ]+", "").split("[, ]+"); 
4

使用此增强正则表达式来避免空匹配:

s.replaceFirst("^(*, *)+", "").split("(, *)+"); 
//=> [1, 2, 3, 4, 5, 6] 
+0

谢谢,我现在正在[1,2,3,4,5,6]。第一个元素是空字符串。 – Prabhakaran

+0

@ByteCode:请检查现在编辑的代码。 – anubhava

+0

要删除前导逗号,我会:'“^ *,+”'。 –

1

我会拆分任务。首先,您需要在开头或结尾修剪任何逗号。

之后,您可以拆分使用\s*,[,\s]*

+0

感谢我现在得到[,1,2,3,4,5,6]。第一个元素是空字符串 – Prabhakaran

+0

我说:“首先,你需要在开头或结尾修剪任何逗号。” –