为什么这个正则表达式不起作用?我想用所有非默认字符替换我的字符串
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;
}
答案 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-]", "");
(假设连字符也是合法的,正如你在问题中所说的那样)