【问题标题】:How to Replace Colon and Star Special Characters in JavaScript Regex [duplicate]如何在 JavaScript 正则表达式中替换冒号和星号特殊字符 [重复]
【发布时间】:2018-10-29 20:59:43
【问题描述】:

我正在尝试用空字符串(“”)替换星号(*)和冒号(:),字符串可以如下:

要么:Registration No: already exists*

或:*Registration No: already exists

所以,我不想要 (*) 和 (:) 并且输出应该是 Registration No already exists 我该如何解决它。

尝试如下:

var txt = str.replace(/:\*/ig,"");

请帮助我并提前感谢

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    你的正则表达式匹配:*。您可以使用character class 匹配其中任何一个:

    var txt = str.replace(/[:*]/g,"");
    

    const strings = [
      "Registration No: already exists*",
      "*Registration No: already exists"
    ];
    
    strings.forEach((s) => {
      console.log(s.replace(/[:*]/g, ""));
    });

    【讨论】:

    • 您可以删除忽略大小写修饰符,因为正则表达式中没有小写或大写字符。
    • @JohanWentholt 你说得对,我删除了忽略大小写修饰符。
    【解决方案2】:

    另一种不使用字符类的方法是使用pipealteration 来分隔每个组。但是,这需要您转义特殊字符,这确实允许组匹配而不是单个字符匹配:

    var txt = str.replace(/:|\*/ig, "");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 2011-02-17
      • 2018-01-14
      • 1970-01-01
      • 2014-05-05
      相关资源
      最近更新 更多