我试图去除字符串中不是字母数字或空格的所有内容,因此我创建了正则表达式
private static Regex _NonAlphaChars = new Regex("[^[A-Za-z0-9 ]]", RegexOptions.Compiled);
然而,当我致电_NonAlphaChars.Replace("Scott,", "");
时,它会返回"Scott,"
我错误地认为它与,
答案 0 :(得分:5)
private static Regex _NonAlphaChars =
new Regex("[^A-Za-z0-9 ]", RegexOptions.Compiled);
答案 1 :(得分:4)
你用双重包围做了一些有趣的事情。将其更改为
[^A-Za-z0-9 ]
将原始表达式放入The Regex Coach,将您的正则表达式解释为:
正则表达式是由表达式'[[^ A-Za-z0-9]'和字符']'组成的序列。
相比之下,我写的替代方案的解释是:
正则表达式是一个字符类,表示从字符“A”到字符“Z”的字符范围,字符“a”到字符“z”的字符范围,范围字符'0'到字符'9'的字符和字符''。
答案 2 :(得分:0)
试试这个
[^A-Za-z0-9\s]
或
\ W