You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除字符串末尾空白?Java trim()无法去除HTML 的解决办法

问题根因

你遇到的trim()无效的核心原因是:
HTML里的 转义后对应的是非断空格,Unicode编码为U+00A0,而Java的trim()方法仅支持移除ASCII值≤32的字符(包含普通空格、制表符、换行符等),无法识别处理这类Unicode空白字符,所以末尾的非断空格会被保留。

解决方案
  • 如果你使用的是Java 11及以上版本,直接调用JDK自带的strip()方法即可,该方法支持识别所有Unicode空白字符:
String result = str.strip();
  • 如果你使用的是Java 8及更早的旧版本,可以手动替换掉非断空格后再trim,或者用正则匹配所有空白字符做首尾移除:
// 方案1:专门替换非断空格后trim
String result = str.replace('\u00A0', ' ').trim();

// 方案2:正则匹配所有Unicode空白,直接移除首尾
String result = str.replaceAll("^[\\p{Z}\\s]+|[\\p{Z}\\s]+$", "");

内容的提问来源于stack exchange,提问作者archita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:48:02