5

我正在使用以下内容在空格上拆分字符串

myString.split("\\s+");

我如何为单个空间提供例外。即除了单个空间之外的空间分割

4

4 回答 4

9

像这样:

myString.split("\\s{2,}");

或者像这样,

myString.split(" \\s+"); // notice the blank at the beginning.

这取决于您真正想要什么,阅读问题并不清楚。

您可以在Pattern类中的量词语法。

于 2013-07-08T11:45:33.937 回答
1

您可以使用类似的模式

myString.split("\\s\\s+");

仅当空白字符后跟更多空白字符时才匹配。

请注意,空白字符不仅仅是一个简单的空白。

于 2013-07-08T11:48:36.490 回答
1
"Your String".split("\\s{2,}");

将完成这项工作。

例如:

String str = "I am  a  String";
String []strArr = str.split("\\s{2,}");

这将返回一个长度为 3 的数组。

以下将是输出。

strArr[0] = "I am"
strArr[1] = "a"
strArr[2] = "String"

我希望这回答了你的问题。

于 2013-07-08T12:24:04.057 回答
0

如果您确实想排除单个空格,而不是其他类型的空格,那么您将需要以下内容:

s.split("\\s{2,}|[\\s&&[^ ]]")

\s这通过从内置字符类中减去空格来构造一个字符类。

于 2013-07-08T12:08:47.360 回答