Discussion:
aus einem String zahlen erkennen
(zu alt für eine Antwort)
marc
2007-10-06 11:41:39 UTC
Permalink
hallo,

ich suche eine schlanke und schnelle funktion die aus einem
strassennamen mit nummer
zwei strings macht. einmal die strasse und einmal die hausnummer. wie
zum beispiel

lindenweg 12b


sollen zwei strings herauskommen einmal lindenberg und einmal 12b.
da es sich um eine datenbank mit 2 mio datensätze handelt, sollte sie
performant
sein.

hat jemand eine idee.

gruß marc
Achim Peters
2007-10-06 11:52:51 UTC
Permalink
Post by marc
ich suche eine schlanke und schnelle funktion die aus einem
strassennamen mit nummer
zwei strings macht. einmal die strasse und einmal die hausnummer. wie
zum beispiel
lindenweg 12b
sollen zwei strings herauskommen einmal lindenberg und einmal 12b.
da es sich um eine datenbank mit 2 mio datensätze handelt, sollte sie
performant
sein.
hat jemand eine idee.
Nur so als Tipp: Wenn Du meinst, einen Algorithmus gefunden zu haben,
teste ihn unbedingt an Mannheimer Adressen. Die sehen nämlich z. B. so aus:
Sparkasse Rhein-Neckar Nord
D 1 1-3
(willkürlich per http://www.dastelefonbuch.de)

Dabei ist "D 1" die Straße.

Es gibt noch diverse andere Fallstricke: Hinterhöfe in Berlin, Straßen
ohne Hausnummern in Dörfern, etc.

Bye
Achim
Kurt Harders
2007-10-06 17:43:11 UTC
Permalink
Hallo ihr zwei :-),
Post by Achim Peters
Nur so als Tipp: Wenn Du meinst, einen Algorithmus gefunden zu haben,
Sparkasse Rhein-Neckar Nord
D 1 1-3
(willkürlich per http://www.dastelefonbuch.de)
Dabei ist "D 1" die Straße.
Es gibt noch diverse andere Fallstricke: Hinterhöfe in Berlin, Straßen
ohne Hausnummern in Dörfern, etc.
Möglichkeit: PLZ-Verzeichnis besorgen und prüfen, ob darin die Straße
enthalten ist und evtl. zur angegebenen PLZ passt.

Grüße, Kurt
--
Kurt Harders
PiN GmbH
http://www.pin-gmbh.com
Rudolf Ziegaus
2007-10-06 19:07:45 UTC
Permalink
Post by Kurt Harders
Hallo ihr zwei :-),
Möglichkeit: PLZ-Verzeichnis besorgen und prüfen, ob darin die Straße
enthalten ist und evtl. zur angegebenen PLZ passt.
Grüße, Kurt
Gibt's das eigentlich irgendwo online? Oder kann/muss man das noch ganz
herkömmlich bei der Post besorgen?

Rudi
Heiner Kücker
2007-10-07 07:16:08 UTC
Permalink
Kurt Harders schrieb
Post by Kurt Harders
Möglichkeit: PLZ-Verzeichnis besorgen und prüfen, ob darin die Straße
enthalten ist und evtl. zur angegebenen PLZ passt.
Es gibt auch professionelle Anbieter für die
Eindeutigkeit von Adressen

http://www.uniserv.de/
Post by Kurt Harders
Grüße, Kurt
--
Kurt Harders
PiN GmbH
http://www.pin-gmbh.com
--
Heiner Kücker
www.heinerkuecker.de
www.control-and-command.de
Thomas Thiele
2007-10-07 21:59:13 UTC
Permalink
Post by Kurt Harders
Möglichkeit: PLZ-Verzeichnis besorgen und prüfen, ob darin die Straße
enthalten ist und evtl. zur angegebenen PLZ passt.
Der OP sprach "performant".
Kai Brösing
2007-10-06 22:55:01 UTC
Permalink
Post by Achim Peters
Post by marc
ich suche eine schlanke und schnelle funktion die aus einem
strassennamen mit nummer zwei strings macht.
Nur so als Tipp: Wenn Du meinst, einen Algorithmus gefunden zu haben,
Sparkasse Rhein-Neckar Nord
D 1 1-3
(willkürlich per http://www.dastelefonbuch.de)
Dabei ist "D 1" die Straße.
Es gibt noch diverse andere Fallstricke: Hinterhöfe in Berlin, Straßen
ohne Hausnummern in Dörfern, etc.
Wenn auch internationale Adressen enthalten sind, gibt es auch noch die
Variante, dass die Hausnummer vor dem Strassennamen steht. Bsp. Frankreich:

18 Clos du Bois

Gruß,

Kai
Raymund Achner
2007-10-07 09:45:07 UTC
Permalink
Post by Achim Peters
Es gibt noch diverse andere Fallstricke: Hinterhöfe in Berlin, Straßen
ohne Hausnummern in Dörfern, etc.
und in sehr kleinen Dörfern gibts auch schon mal den Fall, daß es keinen
Straßennamen gibt, sondern der Dorfname + Hausnummer

ray
Jochen Theodorou
2007-10-07 11:57:12 UTC
Permalink
Post by Raymund Achner
Post by Achim Peters
Es gibt noch diverse andere Fallstricke: Hinterhöfe in Berlin, Straßen
ohne Hausnummern in Dörfern, etc.
und in sehr kleinen Dörfern gibts auch schon mal den Fall, daß es keinen
Straßennamen gibt, sondern der Dorfname + Hausnummer
oder nur den Dorfnamen... hab ich selber schon erlebt in eiem Dorf das
so klein garnicht war.

Gruss theo
--
Jochen "blackdrag" Theodorou
Groovy Tech Lead (http://groovy.codehaus.org)
http://blackdragsview.blogspot.com/
Malte Schirmacher
2007-10-07 13:35:59 UTC
Permalink
Post by Jochen Theodorou
Post by Raymund Achner
Post by Achim Peters
Es gibt noch diverse andere Fallstricke: Hinterhöfe in Berlin, Straßen
ohne Hausnummern in Dörfern, etc.
und in sehr kleinen Dörfern gibts auch schon mal den Fall, daß es keinen
Straßennamen gibt, sondern der Dorfname + Hausnummer
oder nur den Dorfnamen... hab ich selber schon erlebt in eiem Dorf das
so klein garnicht war.
Oder auch in so Dörfern wie Köln, wenn eine Sendung an die Redaktion
einer Sendung gehen soll :-)
Hubert Partl
2007-10-08 08:23:19 UTC
Permalink
--
Post by marc
On 06.10.2007 at 13:52:51, in message
ich suche eine schlanke und schnelle funktion die aus einem
strassennamen mit nummer
zwei strings macht. einmal die strasse und einmal die hausnummer. wie
zum beispiel
lindenweg 12b
Es gibt noch diverse andere Fallstricke: Hinterhoefe in Berlin, Strassen
ohne Hausnummern in Doerfern, etc.
und es gibt Stassen- und Platznamen, die Ziffern enthalten,
wie die Strasse des 17. Juli oder der 12. Februar Platz,
und es gibt Gebaeude, bei denen man keine Hausnummer angeben muss
swie z.B. Wiener Staatsoper, Herbert von Karajan Platz,
oder Siemens, Werner von Siemens Strasse,
oder Bundeskanzleramt, Platz der Republik ...

Ivan Dolvich
2007-10-07 19:18:17 UTC
Permalink
Vielleicht kannst du StringTokenizer oder String.split("\\s") nehmen.
Post by marc
da es sich um eine datenbank mit 2 mio datensätze handelt, sollte sie
performant sein.
Hehe, hier brauchst du dir keine Sorgen zu machen, denn die meiste
Laufzeit wird wahrscheinlich eh für die I/O mit der Datenbank draufgehen.

Grüße, Ivan
Thomas Thiele
2007-10-07 22:05:12 UTC
Permalink
Post by marc
ich suche eine schlanke und schnelle funktion die aus einem
strassennamen mit nummer
zwei strings macht. einmal die strasse und einmal die hausnummer. wie
zum beispiel
lindenweg 12b
Naja, der triviale Weg ist nach dem ersten Auftreten einer Ziffer 0-9 zu
suchen und dann den String dort zu teilen.
Mögliche Fallstricke wurden dir schon genannt. Weitere sind ausländische
Adressen. Wenn du diese aussschließen kannst kannst du es so machen.
Alles andere ist mehr oder weniger unschlank und unschnell.

Ansonsten: wozu brauchst du die Trennung? Die Hausnummer steht immer in
der selben Zeile wie die Straße. Sind sie zusammen, dann lass sie zusammen.
Oder bastelst du an einem Programm was z.B. Bonität etc. anhand
bestimmter Strassennamen ermittelt?
Kurt Harders
2007-10-08 05:12:40 UTC
Permalink
Hallo Thomas,
Post by Thomas Thiele
Ansonsten: wozu brauchst du die Trennung? Die Hausnummer steht immer in
der selben Zeile wie die Straße. Sind sie zusammen, dann lass sie zusammen.
Z.B. zur Prüfung der PLZ? Oder zur Festlegung des Bundeslandes bzw. der
Prüfung, in welchem Landkreis/Gemeinde... sich die Adresse befindet? BTW:
diese Daten gibt es bei den statistischen Landesämtern.

Grüße, Kurt
--
Kurt Harders
PiN GmbH
http://www.pin-gmbh.com
Loading...