如何从字符串中删除所有非数字字符并仅将数字作为新字符串?

pen*_*ake 2 .net c# regex string replace

我有一个很长的字符串,有许多字符,如:

"8798dsfgsd98gs87£%" %001912.43.36".

如何删除所有非数字字符并获取数字以便我可以获得:

"879898870019124336"

在C#?

谢谢

TcK*_*cKs 6

var text = "8798dsfgsd98gs87£%"%001912.43.36.";
var numText = new string( text.Where(c=>char.IsDigit(c)).ToArray() );
Run Code Online (Sandbox Code Playgroud)

编辑: 如果您的目标是性能,请使用StringBuilder:

var text = "8798dsfgsd98gs87£%"%001912.43.36.";
var numText = new StringBuilder();
for(int i = 0; i < text.Length; i++) {
    char c = text[i];
    if ( char.IsDigit(c) ) {
        numText.Append(c);
    }
}
Run Code Online (Sandbox Code Playgroud)