Adresse splitten

Microhome

Erfahrenes Mitglied
Hallo zusammen,
ich stehe irgendwie gerade auf dem Schlauch.

Ich habe verschiedene Adress-Strings (Straße + Nummer) und möchte diese nun in Straße und Nummer aufsplitten. Meine erste Idee war es, das letzte vorkommende Leerzeichen zu suchen - geht leider nicht, da es manchmal Experten gibt die hinter der Straße kein Leerzeichen machen.

Einzige Möglichkeit mal wieder: reguläre Ausdrücke. Doch wie könnte ein solcher sinnvoller regulärer Ausdruck heißen?


Ist das zu kompliziert? Vielleicht gibt es eine wesentlich einfachere Variante?!


Ich freu mich auf eure Vorschläge,
vielen Dank und ein schönes Wochenende aus Berlin.
 
Ist das zu kompliziert?
Nein, schreib dir doch erstmal eine oder besser mehrere Adresse hin und schau dir an wie diese aufgebaut sind.

Ein Problem hast du ja schon festgestellt, das fehlende Leerzeichen. Die Suche nach einem Leerzeichen, um die Adresse sinnvoll zu trennen, fällt also flach.

Eine Straße besteht aus Buchstaben und Leerzeichen und am Ende folgt eine beliebige Anzahl an Ziffern, also könnte man auf folgende Idee kommen:

Code:
preg_match('/^([^0-9]+)([0-9]+)$/', $address);
 
Zuletzt bearbeitet:
Hi asipak,
danke für deine schnelle Antwort.

Das habe ich schon gemacht, dadurch bin ich ja darauf gekommen.

Ein zweites Problem ist bspw., dass nicht immer nur Ziffern folgen am Ende.
Es gibt bspw. Adressen wie "Hauptstraße 14b" oder so etwas.


Grüße!
 
Hi!

Ich habe jetzt folgendes versucht:

Code:
$adresse_array = split("/([^0-9]+)([0-9]+[a-z]?)/",$adresse);
$adresse = $adresse_array[0];
$nummer = $adresse_array[1];

Allerdings sind $adresse und $nummer leer - warum?



Danke dir und beste Grüße aus Berlin!
 
Hi,
ja sorry, der letzte Beitrag war überflüssig. Ich sitze einfach schon zu lange vor der Kiste heute und werde jetzt mal eine Pause machen :-)

Wen es interessiert, folgender Code läuft:
Code:
preg_match_all ("/([^0-9]+)([0-9]+[a-z]?)/i", $adresse, $response);
$adresse = $response[1][0];
$nummer = $response[2][0];


Danke für deine Hilfe!!
 
Zurück