Tim*_*son 24
new string("XQ74MNT8244A".Where(char.IsDigit).ToArray()) == "748244"
Run Code Online (Sandbox Code Playgroud)
Kob*_*obi 11
两种选择.在.Net 4上使用Linq(在3.5上它是类似的 - 它没有所有方法的那么多重载):
string s1 = String.Concat(str.Where(Char.IsDigit));
Run Code Online (Sandbox Code Playgroud)
或者,使用正则表达式:
string s2 = Regex.Replace(str, @"\D+", "");
Run Code Online (Sandbox Code Playgroud)
我应该添加它IsDigit并且\D是Unicode识别的,因此它接受除0-9之外的相当多的数字,例如"542abc??".
您可以轻松地适应他们之间的单向0和9,或[^0-9]+.
string value = "HTQ7899HBVxzzxx";
Console.WriteLine(new string(
value.Where(x => (x >= '0' && x <= '9'))
.ToArray()));
Run Code Online (Sandbox Code Playgroud)