给定一个包含数字和字符的字符串,例如
Mi2ch£al
删除所有但字母(因此是数字和字符)的相关正则表达式是什么?
另外,我正在使用.NET 2.0来完成这项任务。
答案 0 :(得分:0)
string s = "Mi2ch£al";
s = Regex.Replace(s, @"[^\w\s]", "");
如果您不想要国际重音字符:
string s = "Mi2ch£al";
s = Regex.Replace(s, @"[^a-zA-Z0-9\s]", "");
答案 1 :(得分:0)
用空字符串替换正则表达式[^a-zA-Z]
或[^a-zA-Z\s]
保存空格
答案 2 :(得分:0)
如果您不介意使用Linq:
string s = new string("Mi2ch£al".Where(c => !char.IsNumber(c) && !char.IsLetter(c)).ToArray());
答案 3 :(得分:0)
\p{L}
匹配任何字母,\P{L}
任何不是字母的字符(包括非拉丁字符集,重音字符等)。因此,您可以简单地使用:
Regex.Replace(input, @"\P{L}", String.Empty)
其中input
是输入字符串。