我正在使用以下内容在空格上拆分字符串
myString.split("\\s+");
我如何为单个空间提供例外。即除了单个空间之外的空间分割
像这样:
myString.split("\\s{2,}");
或者像这样,
myString.split(" \\s+"); // notice the blank at the beginning.
这取决于您真正想要什么,阅读问题并不清楚。
您可以在Pattern类中的量词语法。
您可以使用类似的模式
myString.split("\\s\\s+");
仅当空白字符后跟更多空白字符时才匹配。
请注意,空白字符不仅仅是一个简单的空白。
"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"
我希望这回答了你的问题。
如果您确实想排除单个空格,而不是其他类型的空格,那么您将需要以下内容:
s.split("\\s{2,}|[\\s&&[^ ]]")
\s
这通过从内置字符类中减去空格来构造一个字符类。