Laden...

RegEx: Mehrstellige Zahlen in String herausfinden

Erstellt von Yheeky vor 15 Jahren Letzter Beitrag vor 15 Jahren 6.793 Views
Y
Yheeky Themenstarter:in
200 Beiträge seit 2008
vor 15 Jahren
RegEx: Mehrstellige Zahlen in String herausfinden

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

16 Beiträge seit 2008
vor 15 Jahren

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

656 Beiträge seit 2008
vor 15 Jahren

[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.

Y
Yheeky Themenstarter:in
200 Beiträge seit 2008
vor 15 Jahren

Cool, danke! ([0-9]+) funktioniert hervorragend! 🙂

Gruß Yheeky

16 Beiträge seit 2008
vor 15 Jahren

@ BhaaL:
Ja, stimmt.