62

如何检查字符串是否包含空格字符、空格或“”。如果可能,请提供一个 Java 示例。

例如:String = "test word";

4

14 回答 14

89

要检查字符串是否包含空格,请使用 aMatcher并调用其 find 方法。

Pattern pattern = Pattern.compile("\\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();

如果要检查它是否仅包含空格,则可以使用String.matches

boolean isWhitespace = s.matches("^\\s*$");
于 2010-11-01T09:41:21.177 回答
29

检查一个字符串是否至少包含一个空格字符:

public static boolean containsWhiteSpace(final String testCode){
    if(testCode != null){
        for(int i = 0; i < testCode.length(); i++){
            if(Character.isWhitespace(testCode.charAt(i))){
                return true;
            }
        }
    }
    return false;
}

参考:


使用Guava库,它要简单得多:

return CharMatcher.WHITESPACE.matchesAnyOf(testCode);

CharMatcher.WHITESPACE在 Unicode 支持方面也更加彻底。

于 2010-11-01T09:51:34.303 回答
24

这将告诉您是否有任何空格:

通过循环:

for (char c : s.toCharArray()) {
    if (Character.isWhitespace(c)) {
       return true;
    }
}

或者

s.matches(".*\\s+.*")

并且StringUtils.isBlank(s)会告诉你是否只有白色空间。

于 2010-11-01T09:43:28.047 回答
12

使用 Apache Commons StringUtils

StringUtils.containsWhitespace(str)
于 2015-03-15T21:40:33.070 回答
2

使用此代码,对我来说是更好的解决方案。

public static boolean containsWhiteSpace(String line){
    boolean space= false; 
    if(line != null){


        for(int i = 0; i < line.length(); i++){

            if(line.charAt(i) == ' '){
            space= true;
            }

        }
    }
    return space;
}
于 2012-08-17T06:21:54.937 回答
2

您可以使用正则表达式来确定是否有空格字符。\s.

正则表达式的更多信息在这里

于 2010-11-01T09:41:16.710 回答
1
public static void main(String[] args) {
    System.out.println("test word".contains(" "));
}
于 2010-11-01T09:41:46.853 回答
1

您可以使用charAt()函数来查找字符串中的空格。

 public class Test {
  public static void main(String args[]) {
   String fav="Hi Testing  12 3";
   int counter=0;
   for( int i=0; i<fav.length(); i++ ) {
    if(fav.charAt(i) == ' ' ) {
     counter++;
      }
     }
    System.out.println("Number of spaces "+ counter);
    //This will print Number of spaces 4
   }
  }
于 2019-03-31T06:24:13.730 回答
0
String str = "Test Word";
            if(str.indexOf(' ') != -1){
                return true;
            } else{
                return false;
            }
于 2017-10-28T04:02:48.787 回答
0

也许我迟到了最新的答案。您可以使用以下解决方案之一:

public static boolean containsWhiteSpace(final String input) {
        if (isNotEmpty(input)) {
            for (int i = 0; i < input.length(); i++) {
                if (Character.isWhitespace(input.charAt(i)) || Character.isSpaceChar(input.charAt(i))) {
                    return true;
                }
            }
        }
        return false;
    }

或者

public static boolean containsWhiteSpace(final String input) {
        return CharMatcher.whitespace().matchesAnyOf(input);
    }
于 2021-04-27T04:31:16.390 回答
-1

使用 org.apache.commons.lang.StringUtils。

  1. 搜索空格

boolean withWhiteSpace = StringUtils.contains("我的名字", "");

  1. 删除字符串中的所有空格

StringUtils.deleteWhitespace(null) = null StringUtils.deleteWhitespace("") = "" StringUtils.deleteWhitespace("abc") = "abc" StringUtils.deleteWhitespace("ab c") = "abc"

于 2016-04-04T14:36:39.103 回答
-1

我打算给你一个非常简单的方法,他们使用String.contains

public static boolean containWhitespace(String value) {
    return value.contains(" ");
}

一个小用法示例:

public static void main(String[] args) {
    System.out.println(containWhitespace("i love potatoes"));
    System.out.println(containWhitespace("butihatewhitespaces"));
}

输出:

true
false
于 2018-01-08T14:10:56.853 回答
-1
import java.util.Scanner;
public class camelCase {

public static void main(String[] args)
{
    Scanner user_input=new Scanner(System.in);
    String Line1;
    Line1 = user_input.nextLine();
    int j=1;
    //Now Read each word from the Line and convert it to Camel Case

    String result = "", result1 = "";
    for (int i = 0; i < Line1.length(); i++) {
        String next = Line1.substring(i, i + 1);
        System.out.println(next + "  i Value:" + i + "  j Value:" + j);
        if (i == 0 | j == 1 )
        {
            result += next.toUpperCase();
        } else {
            result += next.toLowerCase();
        }

        if (Character.isWhitespace(Line1.charAt(i)) == true)
        {
            j=1;
        }
        else
        {
            j=0;
        }
    }
    System.out.println(result);
于 2016-02-16T19:54:05.237 回答
-2
package com.test;

public class Test {

    public static void main(String[] args) {

        String str = "TestCode ";
        if (str.indexOf(" ") > -1) {
            System.out.println("Yes");
        } else {
            System.out.println("Noo");
        }
    }
}
于 2015-03-16T11:41:07.810 回答