温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java正则如何匹配空白符

发布时间:2026-07-24 07:03:11 来源:亿速云 阅读:119 作者:小樊 栏目:编程语言

在 Java 中,匹配空白符(whitespace)通常使用正则表达式。下面按常见需求给你一个完整说明。


一、常见空白符范围

空白符一般包括:

  • 空格 ' '
  • 制表符 \t
  • 换行符 \n
  • 回车符 \r
  • 换页符 \f

二、Java 中匹配空白符的方法

✅ 1. 使用 \s(最常用)

String regex = "\\s";

⚠️ 注意:Java 字符串中要写成 \\s

示例:判断是否包含空白符

String text = "hello world";
boolean hasWhitespace = text.matches(".*\\s.*");
System.out.println(hasWhitespace); // true

✅ 2. 匹配一个或多个空白符

"\\s+"   // 一个或多个空白符

示例:按空白符拆分字符串

String text = "a  b\tc\n d";
String[] arr = text.split("\\s+");
// 结果: ["a", "b", "c", "d"]

✅ 3. 匹配“非空白符”

"\\S"   // 单个非空白字符
"\\S+"  // 一个或多个非空白字符

三、不同场景示例

1️⃣ 判断字符串是否全是空白

text.matches("\\s*")

2️⃣ 去掉首尾空白(不推荐正则)

text = text.trim(); // 只处理 ASCII 空白

✅ 推荐(Java 11+)

text = text.strip();        // 支持 Unicode
text = text.stripLeading();
text = text.stripTrailing();

3️⃣ 替换所有空白符为指定字符

text = text.replaceAll("\\s+", "-");

四、\s 在 Java 中到底匹配什么?

在 Java 中:

\s == [ \t\n\x0B\f\r]

⚠️ 默认不包含全角空格、不间断空格等 Unicode 空白


五、匹配 Unicode 空白(推荐)

如果你要匹配所有语言中的空白符(如中文全角空格):

"\\p{IsWhiteSpace}"

✅ 示例:

String text = "hello world"; // 全角空格
boolean match = text.matches(".*\\p{IsWhiteSpace}.*");
System.out.println(match); // true

六、常见错误

❌ 错误写法:

"\\s+"   // 正确
"\s+"    // 错误(编译错误)

七、总结速查表

需求 正则
单个空白 \s
多个空白 \s+
非空白 \S
Unicode 空白 \p{IsWhiteSpace}
拆分空白 split("\\s+")

如果你有具体场景(比如:解析日志、校验输入、处理中文文本),可以直接贴代码,我可以帮你写精确的正则。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手