我使用以下
在白色空格上分割字符串myString.split("\\s+");
我如何为单个空间提供例外。即在空间上分开,除了单个空间
答案 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
内置字符类中减去空格来构造字符类。