代码之家  ›  专栏  ›  技术社区  ›  Bruno Francisco

删除字符串中除“字符”以外的所有标点符号

  •  1
  • Bruno Francisco  · 技术社区  · 5 年前

    在这个问题之后 How can I strip all punctuation from a string in JavaScript using regex? 我试图删除字符串中除 ' 避免与下列词语混淆的字符:

    • 不会
    • 不要
    • 不会

    到目前为止,我已经尝试了以下方法:

    return word.replace(/[^\w\s]|_\'/g, "")
              .replace(/\s+/g, " ");;
    

    但它仍在移除 ' 性格。你知道我怎样才能取得这样的成绩吗?

    3 回复  |  直到 5 年前
        1
  •  4
  •   Alien426    5 年前

    将转义撇号移到排除字符类: /[^\w\s\']|_/g

        2
  •  0
  •   jo_va    5 年前

    像这样将撇号添加到regex中,在exclusion块中:

    const str = "This., -/is #! a ;: {} = - string$%^&* which `~)() doesn't, have any)( punctuation!";
    
    const noPunctation = str.replace(/[^\w\s']|_/g, '').replace(/\s+/g, ' ');
    
    console.log(noPunctation);