2 Stimmen

Gibt es eine Methode, die einen Teil einer Zeichenfolge abschneidet, bis die erste Zahl in C# angetroffen wird?

Ich würde gerne wissen, ob es eine Methode in C# gibt, die den gesamten Inhalt einer bis die erste Zahl erreicht ist. Beispiel:

string myString = "USD3,000";
myString = SomeMethod(myString, [someparameters]);
myString -> "3,000"

7voto

Marc Gravell Punkte 970173

Nicht eingebaut, aber Sie können entweder eine Regex oder eine IndexOfAny :

static void Main()
{
    string myString = "USD3,000";
    var match = Regex.Match(myString, @"[0-9].*");
    if(match.Success)
    {
        Console.WriteLine(match.Value);
    }
}

o

static readonly char[] numbers = "0123456789".ToCharArray();
static void Main()
{
    string myString = "USD3,000";
    int i = myString.IndexOfAny(numbers);
    if (i >= 0)
    {
        string s = myString.Substring(i);
        Console.WriteLine(s);
    }
}

1voto

Mamta D Punkte 6080

Ich glaube nicht, dass es dafür irgendwelche eingebauten String-Methoden gibt. Allerdings können Sie den Code in den unten angegebenen Beitrag zwicken und ändern Sie es zu erreichen, was Sie wollen:

Was ist der effizienteste Weg in C# zu bestimmen, wenn eine Zeichenfolge mit einer Zahl beginnt und dann alle folgenden Zahlen bis zum ersten nicht-numerischen Zeichen erhalten?

0voto

Matt Punkte 349

Sie können dies mit regulären Ausdrücken tun.

string myString = "USD3,000";
Regex reg = new Regex("[A-Za-z]");
myString = reg.Replace(myString, "");

0voto

Marino Šimić Punkte 7256
    string str = "ddd3,000.00ss";

    string stripped = new Regex(@"(\d{1,3},(\d{3},)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?).*").Match(str).Value;

    Console.WriteLine(stripped);

Ausgabe:

3,000.00ss

Sollte mit Dezimal- und Ganzzahlen mit oder ohne Tausendertrennzeichen und mit oder ohne maximal 3 Dezimalstellen übereinstimmen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X