Hoi,

Ik heb een grote lijst met adressen en telefoonnummers. Die lijst wil ik netjes verwerken en in een mysql database stoppen. Het lastige is dat er een aantal verschillende formaten zijn waarin de adressen worden weergeven. Ik dacht dat ik er met regular expressions uit zou komen, maar mijn kennis daarvan is niet groot genoeg. Graag krijg ik hier wat hulp bij.

Dit zijn de straatformaten:

Rodekruislaan 23
2e Rodekruislaan 23
2e Rode Kruislaan 23
Rodekruislaan 23 B
2e Rodekruislaan 23 B
2e Rode Kruis Laan 23 B
Rodekruislaan 23/C
2e Rodekruislaan 23/C
Rodekruislaan 23C 001
2e Rodekruislaan 23C 001
Rodekruislaan 23 C 001
Rodekruislaan 23 C 001B
etc

Ik wil graag de straat, het nummer en de toevoeging opsplitsen. Tot nu toe heb ik dit:
<?php
if (preg_match('/(?P<straat>.*)\s(?P<nummer>\d*)\s(?P<toevoeging>\w*)$/', $string, $matches)) {

var_dump($matches);

}
?>

Ik krijg dan de volgende array terug:

array (size=8)
0 => string 'Rode Kruislaan 1302' (length=19)
'straat' => string 'Rode Kruislaan' (length=14)
1 => string 'Rode Kruislaan' (length=14)
'nummer' => string '130' (length=3)
2 => string '130' (length=3)
3 => string '2' (length=1)
'toevoeging' => string '' (length=0)
4 => string '' (length=0)

Ik snap niet waarom het nummer afgebroken wordt. Kan iemand mij dat vertellen? En weet jij of er een formaat is waarmee ik alle typen adressen kan formateren? Het kan dus zijn dat een straatnaam meerdere spaties heeft, wat het ook lastig maakt, denk ik. Ook kan het zijn dat de string begint met een nummer, zoals je ziet in de voorbeelden hier bovven.

Alvast super bedankt, ik weet dat dit een lastige vraag is.

Groetjes,

Arthur
Thomas ... je hebt gelijk ... als we in een ideale wereld zouden leven. Helaas is dat niet het geval en heb je niet altijd invloed, of de mogelijkheid om invloed uit te oefenen, op hoe je iets krijgt aangeleverd.

Het maken van een 'quick-en-dirty' oplossing kan vanuit kostenoogpunt interessanter zijn, dan het aanpassen van de database-setup en het eventueel opnieuw moeten invoeren van alle gegevens.

Dus ja, in een ideale wereld heb je volkomen gelijk. Maar helaas is de wereld niet altijd ideaal en zul je moeten roeien met de riemen die je hebt.

Reageren