Hi,
ich habe folgendes Problem:
Ich habe einen String, der eine Zahl enthält. Diese will ich auslesen. Der String enthält aber auch Whitespaces, so dass ich das gerne über Regex machen würde.
Mein String ist: "Anzahl der Autos: 4553"
Wie muss nun mein Regex lauten? Ich habe es mit
Match match = Regex.Match("Anzahl der Autos: 4553", "([0-9])");
probiert, aber ich bekomme immer nur eine Zahl und nicht die zusammenhängende.
Ich hoffe mir kann jemand helfen.
Gruß Yheeky
Der Pattern heißt: Anzahl der Autos: ((.)*)
Dann ist in Group 1 die Zahl.
Kann dir diesen Thread empfehlen:
On-the-fly Regex-Tester: Regex-Lab
[0-9] matcht auch nur genau ein Zeichen.
Du willst 1 oder mehrere, das wird durch ein + gekennzeichnet:
[0-9]+
Was du suchst wäre ([0-9]+), bzw. (\d+) wenn du die vordefinierte Gruppe für Zahlen ("d"igits) nehmen willst.
lp8266: ((.)*) ist nicht optimal, weil erstens zwei Matches erzeugt werden (einmal die komplette Zeichenkette nach "Anzahl der Autos: " bis zum ende vom String, und einmal das erste Zeichen davon). "." matcht hier beliebige Zeichen, nicht nur Zahlen.