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