![]() |
AW: wie Adresse auseinandernehmen
Solch ähnliche Lösungen hatte ich auch mal.
Problem war dann, dass irgendwann Hausnummern im Stil von
Code:
vorlagen.
128 - 130
Am besten nimmst du den kompletten String und extrahierst ab dem ersten Vorkommnis einer Zahl bis zum Ende alles als Hausnummer. Leerzeichen dazwischen kannst du natürlich danach noch immer entfernen. Quasi so, wie Bummi es schon beschrieben hat. |
AW: wie Adresse auseinandernehmen
Hi zusammen.
Um noch einen weiteren Sonderfall mit rein zu bringen: In Berlin (und anderen Städten sicherlich auch) gibt es auch Straßen ohne Namen: eine Adresse dort wäre z.B. Straße 136 5 Wobei hier die 5 die Hausnummer ist. (was mit dem vorgenannten Ansatz zur Falscherkennung führen würde) Ich würde prinzipiell die am weitesten rechts stehenden Ziffern (ggf. mit Index a, b oder ähnlichen und ggf. mit von/bis, wie schon genannt "128 - 130") als Hausnummer betrachten und alles andere als den Straßennamen. Viele Grüße, Tim |
AW: wie Adresse auseinandernehmen
Hallo,
beschäftige mich seit vielen Jahren mit dem Thema. Die perfekte Lösung gibt es nicht. Die besten (aber nicht perfekten) Ergebnisse habe ich bisher mit folgender Logik erreicht:
Ggfls. kann man bei Teil 3 noch prüfen, ob er nur aus einem Buchstaben besteht, um Hausnummern der Form 12a zu separieren. Diese Logik scheitert im o.g. Beispiel von Berlin, aber auch in Mannheim (siehe z. B. ![]() |
AW: wie Adresse auseinandernehmen
Hallo,
einfache Antwort? Vergiss es. Viel zu viele Probleme. Heiko |
AW: wie Adresse auseinandernehmen
Es ist unmöglich die Adresse z.B. mit RegEx auseinander zu nehmen.
Denkt mal an Mannheim oder an Flurstücknummern. Was du machen kannst, ist z.B. von der Post die Datafactory nutzen. Dort stehen alle Straßen und Orte drin. Mit diesen Tabellen trennst du die Straße von der ggf. vorhandenen Nummer. |
AW: wie Adresse auseinandernehmen
Zitat:
Das Trennen von Strassennamen, Hausnummer und Hausnummerzusätze ist sehr schwierig. (es ist fast schon KI nötig) Man braucht für jede Ausnahme extra Code der dies behandelt. Meine letzte Idee (die ich aber noch nicht umgesetzt habe) war, dass man den String "tokenizen" müsste. A=Buchstabenkette B=Einzelbuchstabe 9=Ziffernkette 8=Ziffernkette gefolgt von Punkt x=Trennzeichen / oder - oder , oder . _=Folge von Leerzeichen Schlossberg 12, 3. Stock wäre also das Muster A_9x_8_A M 17,3 entspräche Muster B_9x9 Für jedes Muster muss man sich zusätzlich speichern, wo die Strasse und wo die Hausnr steckt. Mit 20 bis 50 verschiedenen Mustern kann man so evtl. alle Schreibweisen abdecken. |
AW: wie Adresse auseinandernehmen
Und an dieser Stelle muss man dann überlegen, ob es den Aufwand wert ist, dafür überhaupt komplizierten Quellcode zu schreiben. Vielleicht sind es nur so wenige Datensätze (wenige tausend), dass es sinnvoller wäre, ein einfaches Programm zu schreiben (nur die letzten Zahlen nehmen, z.B.). Und dann setzt man nochmal den Azubi 3 Stunden dran, um die Daten zu überprüfen und ggf. händisch nachzuarbeiten.
|
AW: wie Adresse auseinandernehmen
alsoo
ich habe jetzt von hinten die Zahlen abgetrennt. Da das natürlich nicht optimal ist, muss jemand( der AZUBI ist ne gute Idee :thumb:)die DS nochmal durchgehen. Das ist zwar im Moment ausreichend, aber leider keine endgültige Lösung, da sicher noch ein paar Tausend Sätze dazu kommen werden. |
AW: wie Adresse auseinandernehmen
Zitat:
|
AW: wie Adresse auseinandernehmen
warum verwendet ihr nicht Regular Expressions? Bietet sich doch an...
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz