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]
4

3 回答 3

4

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

s.replaceFirst("^( *, *)+", "").split("(, *)+");
//=> [1, 2, 3, 4, 5, 6]
于 2013-11-15T09:42:51.250 回答
2

尝试这个

s.replaceAll("^[, ]+", "").split("[, ]+");
于 2013-11-15T09:51:02.087 回答
1

我会分担任务。首先,您需要修剪开头或结尾的所有逗号。

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

于 2013-11-15T09:44:10.893 回答