【发布时间】:2013-07-08 11:44:35
【问题描述】:
我正在使用以下内容在空格上拆分字符串
myString.split("\\s+");
我如何为单个空格提供例外。即除单个空格外按空格分割
【问题讨论】:
我正在使用以下内容在空格上拆分字符串
myString.split("\\s+");
我如何为单个空格提供例外。即除单个空格外按空格分割
【问题讨论】:
像这样:
myString.split("\\s{2,}");
或者像这样,
myString.split(" \\s+"); // notice the blank at the beginning.
这取决于你真正想要什么,通过阅读问题并不清楚。
您可以检查Pattern 类中的量词语法。
【讨论】:
tab吗?
"\\s\\s+"或更简单的" +"
你可以使用类似的模式
myString.split("\\s\\s+");
仅当空白字符后跟更多空白字符时才匹配。
请注意,空白字符不仅仅是一个简单的空格。
【讨论】:
myString.split("\\s{2,}"); 有何不同?
"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 内置字符类中减去空格来构造一个字符类。
【讨论】: