Filterung von Hausnummern aus internationalen Adressformaten

chainy

Erfahrenes Mitglied
Moin,

ich muss aus einem Adress-String, der aus Straße und Hausnummer besteht, die Hausnummer herausfiltern. Nach Möglichkeit in allen möglichen (internationalen) Formaten. Natürlich unter Berücksichtigung von Hausnummern wie "41a" oder "62b" etc.. Hat da evtl. jemand Erfahrungswerte, wie man das am Besten angeht? All meine Suchen sind bisher nie auf nennenswerte Resultate gestoßen.

Wäre für jeden Ansatz sehr dankbar!
 
Falls sich das vermeiden lässt, dann lass es. Es gibt zu viele unterschiedliche Formate, als dass es eine effektive Lösung dafür gibt.
 
Wenn es sich vermeiden ließe, würde ich eine solche Frage nicht stellen. :) Vielleicht kennt ja jemand eine Art Adress-Validator oder sowas ähnliches. UPS bietet sowas an, aber soweit ich das verstanden habe, nur für US Adressen.

Ich bin mir über die unterschiedlichen Varianten im Klaren. Nur bevor ich anfange mir einen eigenen Filter für die verschiedenen Formate zu basteln, ist es klüger, vorher um Erfahrungswerte zu Fragen.
 
Wenn du glück hast (und auch nur wenn du Glück hast) dann hat jedes Land seinen eigenen Standard. Dann musst du nur 192 Länder (oder so viel gibts doch weltweit?) nachschauen wie die Adressen aufgebaut sind.
Ergo Stundenlange Recherche :rolleyes:
Wenn du aber Pech hast hast du Stundenlang gesucht und am Ende ist es doch unmöglich....
Ne ernsthaft: Vergiss es jedenfalls nicht international.
 
Die Information des Landes hab ich. Wohlmöglich gehöre ich dafür geschlagen: ich hab vergessen zu erwähnen, dass ich die Daten über die GeoCoding-Api von Google-Maps abgreife. Die Daten werden auch richtig geparst, jedoch hab ich halt das o.g. Probleme mit der Hausnummer und der Straße.

Danke an DeluXe, auf der Seite war ich auch schon, jedoch war ich wohl schon total gefrustet von der ewigen Sucherei, dass ich über die Beispiele nicht gestolpert bin.

Ich werde mal schauen, was ich da machen kann. An sich ist es nur noch Fleißarbeit, wenn man die Formate alle kennt und davon ab müsste ich erstmal nur die Länder unterstützen, welche auch von der Google GeoCoding-Api unterstützt werden, dass sind nämlich nur 40.
 
Hallo,

auch wenn das Thema schon älter als ein Jahr zu sein scheint, passt es einigermasen auf meine Frage. Und zwar habe ich auch das Problem mit Straße und Hausnummer, die in einer Zeile stehen und ich die nun auseinander bekommen soll. Doch nicht international sondern nun Deutsche Adressen.
Also: Mozartstr. 44a oder Am Graben 5
Wollte ja erstmal die zahlen 0 bis 9 suchen lassen und dann an dieser stelle trennen lassen doch das wären dann 10mal strpos() und dann noch was zum teilen an einer gewissen stelle und dann trim()... Kann mir jemand da einen regulären Ausdruck geben?

Gruß
 
Hi,

@Loomis
genau sowas leider noch nicht ganz perfekt. Wenn ich zum Beispiel
Am Graben 54b 2
eingebe, spuckt er alles in das erste Array Element. Kann man den Ausdruck soweit aendern, dass er im ersten Array Feld einfach den Text bis zur ersten Zahl drin hat und im zweiten einfach alles was da nach kommt?

Waere super wenn das gehen wuerde.

Beste Gruesse


Edit: endlich nach einer unendlichen zeitspanne hab ich es rausbekommen ^^ loesung lautet: ([\d]+([\w]*[\s]*)*)
 
Zuletzt bearbeitet:
Zurück