0

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

Mi2ch£al

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

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

4

4 回答 4

1

如果您不介意使用 Linq:

string s = new string("Mi2ch£al".Where(c => !char.IsNumber(c) && !char.IsLetter(c)).ToArray());
于 2012-07-14T15:41:04.680 回答
0
string s = "Mi2ch£al";
s = Regex.Replace(s, @"[^\w\s]", "");

如果您不想要国际重音字符:

string s = "Mi2ch£al";
s = Regex.Replace(s, @"[^a-zA-Z0-9\s]", "");
于 2012-07-14T15:25:08.507 回答
0

[^a-zA-Z]用空字符串替换正则表达式或[^a-zA-Z\s]节省空格

于 2012-07-14T15:25:25.533 回答
0

\p{L}匹配任何字母字符和\P{L}任何非字母字符(包括非拉丁字符集、重音字符等)。因此,您可以简单地使用:

Regex.Replace(input, @"\P{L}", String.Empty)

input输入字符串在哪里。

于 2012-07-14T15:41:41.587 回答