我试图过滤除字母,数字,空格,(,),/, - 和...之外的任何内容。 这是我正在使用的代码。它做了一些过滤,但允许引号,分号和其他一些东西。我哪里出错了?
filteredst = Regex.Replace(st, @"^[a-zA-Z0-9 .()/-]+", String.Empty);
感谢您的时间。
答案 0 :(得分:2)
您需要将否定运算符放在类中,而不是将其作为字符串锚点的开头。
Regex.Replace(st, @"[^a-zA-Z0-9 .()/-]+", String.Empty);
示例:
String s = @"foo/bar ''''(baz.) """"12-34;:;;!%$@";
String r = Regex.Replace(s, @"[^a-zA-Z0-9 .()/-]+", String.Empty);
Console.WriteLine(r); //=> "foo/bar (baz.) 12-34"