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

Gol*_*old 59 c# regex

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

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

提前致谢.

Nol*_*rin 109

请尝试以下方法:

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

\d标识符简单地匹配任何数字字符.


Guf*_*ffa 17

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

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

快速性能测试表明,这比使用正则表达式快约五倍.

  • 或者`new string(text.Where(char.IsLetter).ToArray());` (2认同)

Dar*_*rov 5

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


小智 5

吹码可以帮助你...

取号:

return string.Concat(input.Where(char.IsNumber));
Run Code Online (Sandbox Code Playgroud)

取信件:

return string.Concat(input.Where(char.IsLetter));
Run Code Online (Sandbox Code Playgroud)