📌  相关文章
📜  检查Java中的字符串是否仅包含空格的程序(1)

📅  最后修改于: 2023-12-03 14:55:42.931000             🧑  作者: Mango

检查Java中的字符串是否仅包含空格

在Java中,我们可以使用正则表达式来检查一个字符串是否仅由空格组成。下面是一个示例程序:

public class Main {
    public static void main(String[] args) {
        String str1 = "   "; // 包含空格的字符串
        String str2 = "  abc "; // 包含非空格字符的字符串
        String str3 = ""; // 空字符串
        String str4 = null; // 空指针

        boolean isAllWhiteSpace1 = str1.matches("^\\s*$");
        boolean isAllWhiteSpace2 = str2.matches("^\\s*$");
        boolean isAllWhiteSpace3 = str3.matches("^\\s*$");
        // NullPointerException
        // boolean isAllWhiteSpace4 = str4.matches("^\\s*$");

        System.out.println(isAllWhiteSpace1); // true
        System.out.println(isAllWhiteSpace2); // false
        System.out.println(isAllWhiteSpace3); // true
    }
}

以上示例中,我们使用了 matches 方法和正则表达式 ^\\s*$ 来检查字符串是否由空格组成。其中,正则表达式的含义如下:

  • ^ 匹配字符串的开头。
  • \\s 匹配任意的空白字符,包括空格、制表符、换行符等。
  • * 表示匹配前面的元素零次或多次,也就是匹配任意数量的空白字符。
  • $ 匹配字符串的结尾。

因此,正则表达式 ^\\s*$ 可以匹配仅由空格组成的字符串。

需要注意的是,matches 方法会在执行正则表达式之前先检查字符串是否为 null。如果字符串为 null,则会抛出 NullPointerException,因此我们需要先判断字符串是否为 null

另外,空字符串 "" 也可以被视为仅由空格组成的字符串。因此,对于空字符串,同样返回 true

以上就是检查Java中的字符串是否仅包含空格的程序。