按照这个问题How can I strip all punctuation from a string in JavaScript using regex?,我正在尝试从'
字符之外的字符串中删除所有标点符号,以避免弄乱诸如此类的单词:
到目前为止,我已经尝试了以下方法:
return word.replace(/[^\w\s]|_\'/g, "")
.replace(/\s+/g, " ");;
但是它仍在删除'
字符。知道如何实现这样的结果吗?
答案 0 :(得分:4)
将转义的撇号移动到排除的字符类:/[^\w\s\']|_/g
答案 1 :(得分:0)
您可以使用此正则表达式
console.log("I'm strong !".replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g,""))
答案 2 :(得分:0)
在排除块中,将单引号添加到您的正则表达式中:
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);