我想从我的字符串中删除所有非字母数字字符,为此我使用了这个:
Regex rgx = new Regex("[^a-zA-Z0-9 -]");
string newString = rgx.Replace(oldString, "");
但是,我现在有了一个新的约束,除了字母数字字符外,还要保留撇号字符" '
";
示例:对于此字符串" abcd1*%'
",我希望得到" abcd1'
"。
编辑:感谢Alex K提供的解决方案,它正在运作。我现在正试图让这个正则表达式更复杂,我现在想要保留所有撇号字符"'",但只有字母数字字符包围的叛逆字符" x&# 39; X&#34 ;;
示例:对于此字符串" abc'd1*%'
",我希望得到" abc'd1
"。
答案 0 :(得分:3)
只需将其添加到字符类[^a-zA-Z0-9' -]
,因为它包含将不删除的字符列表。
最好在不需要创建实例的情况下使用静态Regex.Replace()
。