Javascript替换特定的特殊字符

时间:2012-08-16 08:07:35

标签: javascript regex replace special-characters

您好我无法更换五个“|||||”一个“|”。

var ss = "123|||||456|||||789|||||";
var ww = ss.replace(/[|||||]\W/g, "|");

我得到的输出是

123|||456|||789|||

我应该写的正确的RegEx是什么? 感谢。

1 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

var ss = "123|||||456|||||789|||||";
console.log(ss.replace(/[|]{5}/g, "|"));

如评论中所述,[]定义了一个字符类,并匹配其中定义的任何字符。例如[a-z]将匹配小写字母。

但是,由于您只需要匹配管道(|)字符,您可以删除括号并将其转义为:

console.log(ss.replace(/\|{5}/g, "|")); 

它需要被\转义,因为管道是java脚本中的特殊字符。 管道后面的卷曲符号{5}定义了您想要匹配的“之前”的数量。