除了单个空格之外,在空格上拆分字符串

时间:2013-07-08 11:44:36

标签: java regex string split

我使用以下

在白色空格上分割字符串
myString.split("\\s+");

我如何为单个空间提供例外。即在空间上分开,除了单个空间

4 个答案:

答案 0 :(得分:9)

像这样:

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

或者像这样,

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

这取决于你真正想要的东西,通过阅读这个问题并不清楚。

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

答案 1 :(得分:1)

您可以使用

之类的模式
myString.split("\\s\\s+");

只有在空白字符后面跟着更多的空白字符时才会匹配。

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

答案 2 :(得分: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"

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

答案 3 :(得分:0)

如果你真的想要排除单个空间,而不是其他类型的空格,那么你需要以下内容:

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

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