[英]Replacing Special Characters with regex - C#
我试图通过使用此MSDN示例从字符串中删除特殊字符(有一些例外)。 我正在使用NET Framework v4.0,我的代码如下:
myString = Regex.Replace(myString, @"[^\w !@$*-_.]", "",
RegexOptions.None);
但是,在测试过程中,我注意到在上面列出的字符之上,它并没有替代[] \\或/之类的其他字符。 我认为正则表达式会抓住这些问题,令我担心的是,可能还有其他一些人也没有被抓住。
任何找出原因和解决方法的建议将不胜感激。 非常感谢!
此版本允许您尝试添加的三个其他符号:
Regex.Replace(
@"a!s$d*f[a\s/df]a_s.d-f",
@"[^\w\.!$*@-]",
"",
RegexOptions.None)
产量
a!s$d*fasdfa_s.d-f
修改的问题是它允许*
和_
之间的所有字符
您可以将示例重写为:
myString = Regex.Replace(myString, @"[^\w !@$*\-_.]", "",
RegexOptions.None);
注意连字符的转义
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.