仅从字符串中删除数字和字符

时间:2012-07-14 15:21:59

标签: c# regex

给定一个包含数字和字符的字符串,例如

Mi2ch£al

删除所有字母(因此是数字和字符)的相关正则表达式是什么?

另外,我正在使用.NET 2.0来完成这项任务。

4 个答案:

答案 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是输入字符串。