【问题标题】:Javascript Replace specific special CharacterJavascript替换特定的特殊字符
【发布时间】:2012-08-16 08:07:35
【问题描述】:

您好,我无法替换五个“|||||”到一个“|”。

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

我得到的输出是

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

我应该写什么正确的正则表达式? 谢谢。

【问题讨论】:

  • 方括号[] 语法的意思是“匹配任何一个括起来的字符”。 (你应该用它来列出不同的字符。)在编写正则表达式时,引用 regex guide 会很方便。

标签: javascript regex replace special-characters


【解决方案1】:

您可以执行以下操作:

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

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

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

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

它需要被\ 转义,因为管道是java 脚本中的一个特殊字符。 管道后面的花括号 {5} 定义了您要匹配多少个“前一个”。

【讨论】:

    猜你喜欢
    • 2014-11-03
    • 2016-09-27
    • 2023-03-31
    • 2011-12-28
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    相关资源
    最近更新 更多