正则去除首尾空格应使用/^s+|s+$/g匹配并替换为空字符串,其中\s涵盖空格、制表符、换行等;若仅去半角空格则用/^ +| +$/g;需加g标志确保首尾同时处理,避免用*导致冗余匹配。

用正则表达式去除字符串首尾空格,核心是匹配开头和结尾的空白字符并替换成空字符串。虽然原生 trim() 更简洁可靠,但理解正则实现有助于处理更复杂的空白清理需求(比如只去空格不去换行、保留中间缩进等)。
基础写法:匹配首尾所有空白字符
JavaScript 中的 s 可匹配空格、制表符( )、换行(
)、回车(
)、垂直制表符()、换页符(),这与 trim() 的行为基本一致:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
const str = " hello world ";
const trimmed = str.replace(/^s+|s+$/g, ""); // "hello world"
```
只去除半角空格(不碰其他空白)
如果明确只要去掉 ASCII 空格(U+0020),避免影响制表符或换行符,可用字面量空格:
-
^s+→ 改为^ +(注意 ^ 后有一个空格) -
s+$→ 改为+$(注意 + 前有一个空格) - 完整写法:
str.replace(/^ +| +$/g, "")
兼容旧浏览器或需链式调用时封装成方法
可挂载到 String.prototype(生产环境慎用,推荐工具函数):
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^s+|s+$/g, "");
};
}
```
之后就能像原生一样使用:
" abc ".trim()。
注意点
- 必须加
g标志,否则只替换第一个匹配(开头或结尾中先出现的那个) - 不要写成
/^s*|s*$/g——*会匹配零次,导致把空字符串也“替换”一次,虽不影响结果但多余 - 若字符串全为空白,正则会返回空字符串,行为与
trim()一致
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










