嗨,我无法更换五个“|||||” 到一个“|”。
var ss = "123|||||456|||||789|||||";
var ww = ss.replace(/[|||||]\W/g, "|");
我得到的输出是
123|||456|||789|||
我应该写什么正确的正则表达式?谢谢。
嗨,我无法更换五个“|||||” 到一个“|”。
var ss = "123|||||456|||||789|||||";
var ww = ss.replace(/[|||||]\W/g, "|");
我得到的输出是
123|||456|||789|||
我应该写什么正确的正则表达式?谢谢。
您可以执行以下操作:
var ss = "123|||||456|||||789|||||";
console.log(ss.replace(/[|]{5}/g, "|"));
正如评论中提到的,[]
定义了一个字符类并匹配其中定义的任何字符。例如[a-z]
将匹配小写字母。
但是,由于您只需要匹配管道 ( |
) 字符,因此可以删除括号并将其转义,如下所示:
console.log(ss.replace(/\|{5}/g, "|"));
它需要用 a 转义,\
因为管道是 java 脚本中的特殊字符。管道后面的花括号{5}
定义了您想要匹配的“前一个”的数量。