Zahlen aus String
lui
- perl
Hallo,
ich möchte gerne aus einem String Zahlen auslesen.
z.B. /hjk/iouoi/oiuoi_30
Die Zahlen dürfen nur vom Ende des Strings genommen werden, können jedoch 1 -> 3 Stellen betragen. Der Unterstrich ist immer vorhanden, kann jedoch mehrmals im String vorhanden sein.
Gruß
lui
gudn tach lui!
ich möchte gerne aus einem String Zahlen auslesen.
z.B. /hjk/iouoi/oiuoi_30
Die Zahlen dürfen nur vom Ende des Strings genommen werden, können jedoch 1 -> 3 Stellen betragen. Der Unterstrich ist immer vorhanden, kann jedoch mehrmals im String vorhanden sein.
$_ = '/hjk/iouoi/oiuoi_30';
print $1 if /_(\d{1,3})$/;
wenn du sicher bist, dass immer eine zahl am ende steht und sich immer ein "_" davor befindet, dann kannst du auch einfach mittels rindex dieses "_" suchen und den string danach via substr extrahieren. dann kaemst du ohne regexp aus.
was besser/schneller ist, weiss ich nicht.
prost
seth
Hallo,
ich möchte gerne aus einem String Zahlen auslesen.
z.B. /hjk/iouoi/oiuoi_30
mit $myString =~ s/\D//g;
löschst Du alle nicht-Ziffern (das s steht für substitute [esetze das zwischen dem ersten und dem zweiten / mit dem zwischen dem zweiten und dem dritten], das \D für alle nicht-Ziffern, das g am Ende steht für global, d.h. es wird nicht nur ein Zeichen sondern alle gelöscht).
Gruß
Steffen
gudn tach!
mit $myString =~ s/\D//g;
wird z.b. aus "baz/66/foo/bar_6" -> "666", das wollte der OP afais nicht, sondern nur die zahl am schluss ermitteln.
prost
seth
Hallo,
Die Zahlen dürfen nur vom Ende des Strings genommen werden, können jedoch 1 -> 3 Stellen betragen. Der Unterstrich ist immer vorhanden, kann jedoch mehrmals im String vorhanden sein.
Verwende eine Regex um die Zahlen im String zu ermitteln. Danach kannst Du sie einfahc weiter verarbeiten.
Grüße
Klaus