Gibt es ein äquivalent zu JavaScript parseInt in C#?

Ich Frage mich, ob jemand hatte zusammen etwas oder hatte etwas gesehen entspricht die JavaScript parseInt für C#.

Insbesondere bin ich auf der Suche, um einen string wie:

123abc4567890

und wieder nur die erste gültige Ganzzahl

123

Habe ich eine statische Methode, die ich verwendet habe, zurückgeben, nur die zahlen:

public static int ParseInteger( object oItem )
    {
        string sItem = oItem.ToString();

        sItem = Regex.Replace( sItem, @"([^\d])*", "" );

        int iItem = 0;

        Int32.TryParse( sItem, out iItem );

        return iItem;
    }

Oben nehmen würde:

ParseInteger( "123abc4567890" );

und geben Sie mir wieder

1234567890

Ich bin mir nicht sicher, ob es möglich ist, mit einem regulären Ausdruck, oder ob es eine bessere Methode zu greifen, nur die erste Zahl aus der string.

Vielen Dank für alle Antworten, Sie waren alle sehr hilfreich. Ich markierte leppie ist als angenommen, denn es war zuerst durch ein bit und hat Arbeit. Ich nahm seine und lief mit einigen Modifikationen. Jon Skeet ist definitiv der kompletteste. Nochmals vielen Dank!

InformationsquelleAutor Doozer Blake | 2009-06-10

Schreibe einen Kommentar