如何使用Regex.Replace从字符串中删除数字?

时间:2009-11-01 14:21:32

标签: c# regex

我需要使用Regex.Replace删除字符串中的所有数字和符号。

示例输入:123- abcd33
示例输出:abcd

7 个答案:

答案 0 :(得分:101)

尝试以下方法:

var output = Regex.Replace(input, @"[\d-]", string.Empty);

\d标识符只匹配任何数字字符。

答案 1 :(得分:14)

您可以使用类似LINQ的解决方案而不是正则表达式来执行此操作:

string input = "123- abcd33";
string chars = new String(input.Where(c => c != '-' && (c < '0' || c > '9')).ToArray());

快速性能测试表明,这比使用正则表达式快5倍。

答案 2 :(得分:5)

var result = Regex.Replace("123- abcd33", @"[0-9\-]", string.Empty);

答案 3 :(得分:1)

作为字符串扩展名:

    public static string RemoveIntegers(this string input)
    {
        return Regex.Replace(input, @"[\d-]", string.Empty);
    }

用法:

"My text 1232".RemoveIntegers(); // RETURNS "My text "

答案 4 :(得分:1)

最好的设计是:

public static string RemoveIntegers(this string input)
    {
        return Regex.Replace(input, @"[\d-]", string.Empty);
    }

答案 5 :(得分:1)

打击代码可以帮助您...

获取号码:

return string.Concat(input.Where(char.IsNumber));

获取信件:

return string.Concat(input.Where(char.IsLetter));

答案 6 :(得分:0)

text= re.sub('[0-9\n]',' ',text)

在python中安装正则表达式,然后重新执行以下代码。