目前我在javascript中尝试这个表达式 /[^\w\s]/gi 。但是,它不会删除 _ 下划线。如何去掉下划线?我要删除这些特殊字符!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
var text = reasonTxt.GetText(); var textFull = text.replace(/[^\w\s]/gi, '');
目前我在javascript中尝试这个表达式 /[^\w\s]/gi 。但是,它不会删除 _ 下划线。如何去掉下划线?我要删除这些特殊字符!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
var text = reasonTxt.GetText(); var textFull = text.replace(/[^\w\s]/gi, '');
_被认为是单词字符。所以你也需要否定这一点。
var text = reasonTxt.GetText(); var textFull = text.replace(/[^\w\s]|_/gi, '');
let str = "vivek #$ asbc &12341236~!@#$%^& _ !#$%&'()*+,-./:;<=>?@[]^_`{|}~+_";
console.log(str.replace(/[^\w\s]|_/gi, ""));
如果你只想要字母和数字
var text = reasonTxt.GetText(); var textFull = text.replace(/[^A-Za-z0-9]+/g, '');
如果你只想要字母
var text = reasonTxt.GetText(); var textFull = text.replace(/[^A-Za-z]+/g, '');
您的正则表达式几乎是正确的,但由于_已经进入\w(与)\w相同,[a-zA-Z0-9_]因此您必须明确检查_并修改您的正则表达式,
[^\w\s]|_
将您的代码更改为此,
var text = reasonTxt.GetText(); var textFull = text.replace(/[^\w\s]|_/gi, '');