正则表达式:替换字符

时间:2019-03-07 19:04:06

标签: javascript regex

我想替换一个字符,但是什么也没发生。

   const str = '//id//user/param//test';
    const result = str.replace(/[//]/gi, '/');

这就是我得到的:

//id//user/param//test

这就是我想要的:

/id/user/param/test

2 个答案:

答案 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)