• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Straße Hausnummer trennen

Tectum

New member
Ich habe folgendes Problem. Ich muss Straße und Hausnummer in seperate spalten speichern.
Kann aber nicht nach Leerzeichen oder nur Punkt oder so suchen weil die straßen so aussehen:
Wildenburgstr.10
Am Abelitzkanal Süd2a
Winzerweg2a
usw.
also muss ich irgendwie vor der Hausnummer/Zahl abschneiden. Wie mach ich das?
 
in php natürlich, ist in mysql spalte str, soll dann getrennt werden in str2 und hnr.
kp welche möglichkeiten es gibt das zu realisieren, deswegen ja auch meine frage, brauch ein befehl mit dem man sobald eine zahl kommt, den teil davor abschneidet, das würde reichen, dann hat man ja die hausnummer und die straße dann einfach mit hausnummer löschen dann hat man den straßennamen
 
String umkehren, durchlaufen und alles vor dem Ersten vorkommen einer Zahl ist die Hausnummer, der Rest ist die Straße.
 
oder preg:
PHP:
$test = 'Winzerweg2a';
preg_match('/([^\d]+)(\d+.*)/', $test, $matches);
$street = trim($matches[1]);
$nr = trim($matches[2]);
 
Die RegExp ist nicht ganz korrekt und kann "verschönert" werden: /^(\D+)(\d.*)$/ - bei skooli wird folgendes "23948273Winzerweg2a" als korrekte Bezeichnugn aufgenommen (was es meiner Meinung nach nicht ist) und der vordere Schmu geht verloren. Ist aber Ansichtssache, ob da ein Fehler geworfen werden soll, oder nicht...
 
Dieses System ist untauglich Strassennummern zu identifizieren.

Schon allein mit Mannheimer Hausnummern wirst du Probleme bekommen und es gibt Bruchzahlen 1/2 als Hausnummern, in anderen Ländern werden die Hausnummern vorne geschrieben und so weiter. Du schaffst dir mit diesem System nur KuddelMuddel.
 
Die RegExp ist nicht ganz korrekt und kann "verschönert" werden: /^(\D+)(\d.*)$/ - bei skooli wird folgendes "23948273Winzerweg2a" als korrekte Bezeichnugn aufgenommen (was es meiner Meinung nach nicht ist) und der vordere Schmu geht verloren. Ist aber Ansichtssache, ob da ein Fehler geworfen werden soll, oder nicht...
wenn ich nichts überlesen hab ging es darum straße und hausnummer zu trennen - nicht darum zu verifizieren ob das gültige Adressen sind.
Spricht natürlich trotzdem nichts dagegen deinen regex zu benutzen.

Dieses System ist untauglich Strassennummern zu identifizieren.

Schon allein mit Mannheimer Hausnummern wirst du Probleme bekommen und es gibt Bruchzahlen 1/2 als Hausnummern, in anderen Ländern werden die Hausnummern vorne geschrieben und so weiter. Du schaffst dir mit diesem System nur KuddelMuddel.
bruchzahlen sollten mit meinem oder oder kkapsners regex kein problem sein.
Und wie mit so vielen anderen sachen gilt auch: das system ist vielleicht nicht perfekt, aber wenn man z.b. nur kunden aus dem deutschsprachigen raum hat kann man eventuell auf eine 100%ige implementierung verzichten und sich somit einen haufen zeit sparen.
 
genau, hab echt einen mega haufen zeit gespart, ich danke dir!
Ist nur Deutschland, funktioniert also einwandfrei ;)
 
Ach, Mannheim ist nicht mehr in Deutschland und Bruchzahlen sind kein Problem?
d.h. der Ausdruck sprich auch auf die Zeichen an: ¼½¾
 
Ich hab keine Ahnung meine Hausnummer ist 2. Wenn sie 2½ wäre, würde ich die wahrscheinlich irgendwo ablegen und bei Bedarf kopieren.

Und wie gesagt Mannheim, dort heißt es "Strasse D4". Ausserdem gibt es noch sowas wie 2-4 oder 2/3. HH

Auf jeden Fall sollte man auf keinen Fall davon ausgehen, dass der obige Ausdruck alle möglichen Hausnummern erfaßt, auch nicht in deutschland.

Insofern ist die Aussage:
Ist nur Deutschland, funktioniert also einwandfrei ;)
Falsch!
 
Und wie gesagt Mannheim, dort heißt es "Strasse D4".!
Wär' sicher auch ein Spaß mal einfach die Hausnummern hexadezimal anzugeben... aber mal Spaß bei Seite - wenn's in Mannheim soetwas gibt, dann fällt mir keine RegExp ein, die das sauber auflösen könnte... Moment... /^(\D+)\b(.*)$/ - wenn die Hausnummer immer mindestens eine Zahl besitzt und zusammen geschrieben wird. Wenn das nicht der Fall ist werfe ich das Handtuch.
 
Ich hab eben in einem Datenbestand geschaut, dort sind zahlreiche Hausnummern (man darf dort eingeben was man möchte) in der Form xx/yy

Ja, Mannheim ist in ein Raster eingeteilt. die Stadtverwaltung hat die Adresse E 5. Aber es gibt auch Adresse in der Form E 2,15 und wie gesagt 2-4 ist auch keine unübliche Bezeichnung.
 
Das mit dem xx/yy ist kein Problem - wg. \d+.* - aber E 5 ist nicht zu handeln... also mein Handtuch liegt ;)
 
jo aber sein Problem war/ist ja dass die Hausnummer mit der Strasse zusammengeschrieben wurde, da hättest du in Mannheim, dann warscheinlich auch von Hand Probleme ^^
Wenn es nur um die Trennung geht kannst du sowas wie StrasseD4 nicht gescheit Trennen, ausser du suchst nach zusammengehörigen Sachen wie "Strasse", "str", "weg" usw. aber 100% is unmöglich
 
Zurück
Oben