0

可能重复:
正则表达式 - 只有字母?

我尝试从文本中过滤掉字母([az],[AZ])。

我试过"^\w$"了,但它过滤了字母数字(字母和数字)。

过滤掉字母的模式是什么?

谢谢。

4

4 回答 4

2

要删除所有字母,请尝试以下操作:

void Main()
{
    var str = "some junk456456%^&%*333";
    Console.WriteLine(Regex.Replace(str, "[a-zA-Z]", ""));
}
于 2012-11-15T10:13:04.750 回答
2

要仅过滤英文字母,请使用:

[^a-zA-Z]+

无论使用何种语言,都可以过滤字母:

[^\p{L}]+

如果要反转效果,请在^左括号后立即移除帽子。

如果您想找到与模式匹配的整行,则将上述模式括在^$符号内,否则您不需要它们。请注意,要使它们对每一行生效,您需要创建 Regex 对象并启用多行选项。

于 2012-11-15T10:27:40.233 回答
0

试试这个简单的方法:

var result = Regex.Replace(inputString, "[^a-zA-Z\s]", "");

解释:

+ 匹配前一个元素一次或多次。

[^character_group] 否定:匹配任何不在 character_group 中的单个字符。

\s 匹配任何空白字符。

于 2012-11-15T10:35:50.267 回答
-1

要过滤多个字母字符,请使用

^[a-zA-Z]+$
于 2012-11-15T10:15:53.527 回答