前言
总结一下 Java 中对空白/空字符串的处理。
实现
空白字符串通常指空格、换行符、制表符等,空字符串通常指 String str = "";
声明的字符串(注意与 null 值区分)。
注意:
- 下文中关于空白/空字符串的操作均未涉及
null
值判断。业务代码中是应该增加 null 值判断的,否则可能会出现NullPointerException
异常。
判断字符串是否为空白
判断字符串是否为空或者只包含空格、制表符、换行符等空白字符,可以使用 isBlank()
方法。
String str = " ";
if (str.isBlank()) {
System.out.println("字符串为空白");
}
输出:
字符串为空白
isBlank()
方法是在 JDK 11 中添加到 String 类中的。如果是低版本的 JDK,则可以使用 Apache Commons Lang 库中的StringUtils.isBlank()
方法来判断字符串是否为空白。
判断字符串是否为空
判断字符串是否为空,可以使用 isEmpty()
方法。
String str = "";
if (str.isEmpty()) {
System.out.println("字符串为空");
}
String str1 = " ";
if (!str1.isEmpty()){
System.out.println("字符串不为空");
}
if (str1.isBlank()){
System.out.println("字符串为空白");
}
输出:
字符串为空
字符串不为空
字符串为空白
去除字符串两端的空白字符
使用 trim()
方法,它会去除字符串两端的空格、制表符、换行符等空白字符。
String str = " hello world ";
String trimmedStr = str.trim();
System.out.println(trimmedStr);
输出:
# 注意两边的空格被处理了,中间的空格保留
hello world
去除字符串中所有的空白字符
使用 replaceAll()
方法,它可以使用正则表达式替换字符串中所有的空白字符。
String str = "hello\t world\n";
String replacedStr = str.replaceAll("\\s", "");
System.out.println(replacedStr);
输出:
helloworld
\\s
表示匹配空白字符,包括空格、换行符、制表符等。
总结
总结一下 Java 中对空白/空字符串的处理。