从文本中删除特殊字符
remove special characters from text
我正在尝试从给定文本中删除特殊字符。
我尝试将其替换为:
var stringToReplace = 'ab風cd � abc 123 € AAA';
var newText = stringToReplace.replace(/[^\d.-]/g, '');
但它不起作用。
我希望新文本为:
newText = 'ab cd abc 123 AAA'
我尝试了一些正则表达式,但 none 似乎有效。
真正的问题是“风”(那些字符)。
有什么建议吗?
谢谢!
你可以试试下面的方法,
> 'ab風cd � abc 123 € AAA'.replace(/[^\dA-Za-z]/g, " ")
'ab cd abc 123 AAA'
[^\dA-Za-z]
否定字符 class 匹配任何字符,但不匹配数字或字母。
或
> 'ab風cd � abc 123 € AAA'.replace(/[^\dA-Za-z\s]/g, "")
'abcd abc 123 AAA'
> 'ab風cd � abc 123 € AAA'.replace(/[^\dA-Za-z\s]/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
随便用。
stringToReplace.replace(/\W/g, ' ');
输出
"ab cd abc 123 AAA"
我正在尝试从给定文本中删除特殊字符。
我尝试将其替换为:
var stringToReplace = 'ab風cd � abc 123 € AAA';
var newText = stringToReplace.replace(/[^\d.-]/g, '');
但它不起作用。 我希望新文本为:
newText = 'ab cd abc 123 AAA'
我尝试了一些正则表达式,但 none 似乎有效。 真正的问题是“风”(那些字符)。 有什么建议吗? 谢谢!
你可以试试下面的方法,
> 'ab風cd � abc 123 € AAA'.replace(/[^\dA-Za-z]/g, " ")
'ab cd abc 123 AAA'
[^\dA-Za-z]
否定字符 class 匹配任何字符,但不匹配数字或字母。
或
> 'ab風cd � abc 123 € AAA'.replace(/[^\dA-Za-z\s]/g, "")
'abcd abc 123 AAA'
> 'ab風cd � abc 123 € AAA'.replace(/[^\dA-Za-z\s]/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
随便用。
stringToReplace.replace(/\W/g, ' ');
输出
"ab cd abc 123 AAA"