You need to enable JavaScript to run this app. JS正则无法同时过滤字符串连字符和空格,请问哪里出错了?
优惠活动
大模型
产品
解决方案
定价
更多

JS正则无法同时过滤字符串连字符和空格,请问哪里出错了?

正则无法匹配空格的问题排查

问题原因

你当前使用的正则/\s\-/g的匹配规则是空格后紧跟连字符的连续组合,只能删除挨在一起的「空格+连字符」,不能分别匹配单独存在的空格或者连字符,这就是空格无法被过滤的原因。

修复方案

将正则改为字符组格式/[\s-]/g即可。字符组[]表示匹配括号内包含的任意一个字符,搭配全局修饰符g就能全局替换所有的空白字符和连字符:

console.log(
    "some - text".replace(/[\s-]/g, '').toLowerCase()
)
// 输出:sometext

补充说明

如果你只需要匹配普通半角空格,不需要匹配制表符、换行等其他空白字符,可以把\s替换为普通空格,正则写为/[ -]/g即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 09:45:02