使用 strip()、stripLeading()、stripTrailing() 进行 Unicode 感知的去空白处理。
代码对比
✕ Java 8
// trim() only removes ASCII whitespace // (chars <= U+0020) String clean = str.trim();
✓ Java 11+
// strip() removes all Unicode whitespace String clean = str.strip(); String left = str.stripLeading(); String right = str.stripTrailing();
发现此代码有问题? 告诉我们。
为什么现代方式更好
Unicode 正确
处理来自每种文字的所有空白字符。
精确控制
stripLeading() 和 stripTrailing() 提供单侧去除。
语义更清晰
strip() 的名称更准确地描述了现代空白处理。
旧方式
trim()
现代方式
strip()
自 JDK
11
难度
入门
JDK 支持
String.strip() 与 trim()
可用
自 JDK 11 起广泛可用(2018 年 9 月)
工作原理
trim() 只删除 ≤ U+0020 的字符(ASCII 控制字符和空格)。strip() 使用 Character.isWhitespace() 删除所有 Unicode 空白字符,包括不间断空格等。
相关文档