如何檢查一個字符串是否有多於一個連續的空格。 像:如何檢查一個字符串是否有連續的空格
I support Global Warming
返回true,但:
I support Global Warming
返回false。
如何檢查一個字符串是否有多於一個連續的空格。 像:如何檢查一個字符串是否有連續的空格
I support Global Warming
返回true,但:
I support Global Warming
返回false。
這將覆蓋任何空白:
Pattern pattern = Pattern.compile("\\p{javaWhitespace}{2,}");
Matcher m = pattern.matcher("I Support Foo Bar");
if (m.find()) {
System.out.println("More than one space found");
}
boolean containsMultipleWhitespaces = str.contains(" ");
可能不是用戶所要求的,但我會先修剪該字符串,以避免前導空格或尾隨空格出現誤報。 – Luciano 2012-02-09 18:15:49
@Luciano:很難看,但是OP添加了尾隨空白,因此很難判斷他們是否打算將空白匹配或不匹配。 – 2012-02-09 18:21:10
這實際上並不正確。 – Perception 2012-02-09 18:47:44
不知道你的意思,只是你原來的例子去。
(忽略如果誤解)
原帖:
"Like: "I support Global Warming" returns true, but "I support Global Warming " returns false."
檢查空白只在結尾:^(?!.*\s$)
檢查空格兩端:兩頭^(?!\s|.*\s$)
檢查空白和要求非空白
in body :: ^(?=.*\S)(?!\s|.*\s$)
使用^(?=.*\S)(?!\s|.*\s$)
「我支持全球變暖」 - 比賽(真)
「我支持全球變暖」 - 不匹配(假)
「我支持全球變暖」 - 不匹配(假)
「 「 - 不匹配(假)
所以基本上你想檢查一個字符串是否在字符串中的任何地方有兩個連續的空格? – 2012-02-09 18:12:54
我將你的問題更新爲「連續空白」,我認爲這就是你所要求的。 (第一個示例包含三個空格,每個單詞之間有一個空格。)如果這不是您要求的,請編輯回來。 – 2012-02-09 18:13:27