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

如何修改JavaScript的replace正则,保留路径允许的-和_字符?

解决方法

只需要把允许的-和_添加到正则的否定字符集合中即可,修改后的代码如下:

const cleanedPath = yourOriginalString.replace(/[^a-z0-9_-]/gi, '');

说明:

  • 正则表达式中的[^...]表示匹配不在括号内的任意字符,把_和-加入括号内,就意味着这两个字符不会被匹配(也就不会被替换为空字符串)。
  • 末尾的gi修饰符保持不变:g表示全局替换所有符合条件的字符,i表示忽略大小写,确保大小写字母都能被保留。

举个实际例子:

const testStr = "My*Test/Path-For_Storage!123";
const result = testStr.replace(/[^a-z0-9_-]/gi, '');
console.log(result); // 输出 "MyTestPath-For_Storage123"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:45:31