我想替换一个字符,但是什么也没发生。
const str = '//id//user/param//test';
const result = str.replace(/[//]/gi, '/');
这就是我得到的:
//id//user/param//test
这就是我想要的:
/id/user/param/test
答案 0 :(得分:3)
[...]
表示一个字符组,它与这些字符中的任何一个相匹配。因此,[//]
本质上意味着“匹配/
或/
”。因此[//]
与[/]
相同。
您不需要字符组:
const str = '//id//user/param//test';
console.log(str.replace(/\/\//gi, '/'));
如果要匹配两个或多个/
,请使用+
或{2,}
量词:
/\/{2,}/
/\/\/+/
答案 1 :(得分:3)
您也可以使用正则表达式组/\/+/
const str = '//id//user/param//test';
const result = str.replace(/\/+/g, '/')
console.log(result)