Thread Split letzte Hausnummer von String?
(5 answers)
Opened by kami at 2012-04-27 16:26
Das funktioniert nicht, wenn nur eine Nr. angegeben ist, Leerzeichen auftauchen, oder '/' statt '-'. Etwas allgemeiner könnte man es so machen:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 my $regex = qr( (\d+\s*[a-zA-Z]?) # erste Nr. (?: # Trennzeichen verwerfen \s*[-/]\s* (\d+\s*[a-zA-Z]?) # zweite Nr. )? # oder auch nicht )x; my @nr = ("Hauptstr. 77", "Hauptstr. 77-88 a", "Hauptstr. 77 / 79a", "Hauptstr. 77b - 79"); for my $testnr (@nr) { my ($nr1, $nr2) = $testnr =~ /$regex/; printf("%s, %s\n", $nr1, $nr2); } Ausgabe: EVtl. Leerzeichen kann man ja einfach ersetzen, falls gewünscht. Gruß FIFO Editiert von FIFO: Ausgabe ergänzt Last edited: 2012-04-28 11:02:29 +0200 (CEST) Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
|