我正在尝试从给定的文本中删除特殊字符。
我试着用代替它
var stringToReplace = 'ab風cd 👰� abc 123 € AAA';
var newText = stringToReplace.replace(/[^d.-]/g, '');
但它不起作用。我希望新的文本是:
newText = 'ab cd abc 123 AAA'
我试过一些正则表达式,但似乎都不起作用。真正的问题在于風'(这类人物)。有什么建议吗?谢谢
只需使用即可。
stringToReplace.replace(/W/g, ' ');
输出
"ab cd abc 123 AAA"
您可以尝试以下方法,
> 'ab風cd 👰� abc 123 € AAA'.replace(/[^dA-Za-z]/g, " ")
'ab cd abc 123 AAA'
CCD_ 2否定了匹配任何字符但不匹配数字或字母的字符类。
或
> 'ab風cd 👰� abc 123 € AAA'.replace(/[^dA-Za-zs]/g, "")
'abcd abc 123 AAA'
> 'ab風cd 👰� abc 123 € AAA'.replace(/[^dA-Za-zs]/g, " ")
'ab cd abc 123 AAA'
您的正则表达式不好,应该是:
var newText = stringToReplace.replace(/[^da-z]/ig, ' ');
您可以使用/W/g
作为正则表达式
W - The opposite of w. Matches any non-alphanumeric character.
例如:
var string = 'ab風cd 👰� abc 123 € AAA';
string = string.replace(/W/g, ' ')
alert(string); // ab cd abc 123 AAA
http://jsfiddle.net/vgwv6ht2/