我需要使用Regex.Replace
删除字符串中的所有数字和符号。
示例输入:123- abcd33
示例输出:abcd
答案 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中安装正则表达式,然后重新执行以下代码。