正则表达式以拒绝非字母数字字符

时间:2009-12-15 10:09:18

标签: c# asp.net regex replace

为什么这个正则表达式不起作用?我想用所有非默认字符替换我的字符串

legal are = a-Za-z0-9-应该替换休息并返回没有禁止的字符

  protected string FormatToInvalidChars(string InputString)
    {
        string RegexPattern = @"(^[A-Za-z0-9]*)$";

            string s = Regex.Replace(InputString.Trim(), RegexPattern, "$1");

            return s;

    }

3 个答案:

答案 0 :(得分:1)

string s = Regex.Replace(InputString.Trim(),@"[^A-Za-z0-9]+","");

答案 1 :(得分:1)

你的模式毫无意义。你只是匹配一个单字符串。

你想要的可能是取代

[^A-Za-z0-9]

用空字符串。

答案 2 :(得分:1)

尝试以下方法:

Regex.Replace(InputString.Trim(), @"[^A-Za-z0-9-]", "");

(假设连字符也是合法的,正如你在问题中所说的那样)