Php mysql trennen von Straße mit Hausnummer

Danke für die Erklärung.
Ich überlege, ob es nicht sinnvoll ist, den String zuerst an den Leerzeichen zu splitten und dann die einzelnen Substrings zu testen. Wenn zum Beispiel ein Substring nur eine Zahl enthält oder eine Zahl und einen Buchstaben, dann hat man ziemlich sicher die Hausnummer gefunden. (Ausnahme hier. Römische Ziffern als Hausnummer und die Berliner Straße 125 Nr Adressen)
 
Ist mehr oder minder das, was mein Regulärer Ausdruck macht.
Suche am Ende ein Leerzeichen, gefolgt von mindestens einer Ziffer und ev. gefolgt von einem Buchstaben oder nix davon.
Hier mal einige Auswertungen.
0: ganzer Text
1: Strasse
2: Hausnummer
Code:
Array (
  [0] => Hans Heinrich Platz
  [1] => Hans Heinrich Platz
  [2] => 
)

Array ( 
  [0] => Regengasse 14 
  [1] => Regengasse 
  [2] => 14 
)

Array ( 
  [0] => Unterer Oberweg 13B
  [1] => Unterer Oberweg 
  [2] => 13B 
)
 
Was ist mit
"Straße des 17. Juni 23-45 Wohnung 2"
Musterstraße3 4. Stock
Unterer Oberweg 13 b
Das Problem ist ja nicht der Ausdruck, sondern die Tatsache, das es eine Menge Adressen gibt, die nicht dem Pattern
String Nummer Buchstabe entsprechen.
D 4 1 ist eine gültige Adresse in Mannheim.
Dazu kommen halt Fehleingaben der User.
Was ich sagen will, ein einfacher Ausdruck wird nicht ausreichen.
 
Wie ich bereits geschrieben habe. Es gibt kein Allgemeingültiges Regelwerk für diese Auftrennung. Auch dein Vorschlag aus #11 schlägt genauso fehl.
Man kann einige automatisiert umschreiben. Aber man muss alle von Hand durchschauen ob es richtig ist.

Mit dem preg_match kann man einen grossen Teil handeln.
 
Zurück