Regular Expressions adres formaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Flutter Developer

Freelance / interim Flutter Developer gezocht Wij zoeken een freelance / interim Flutter Developer voor een opdracht in de financiele dienstverlening in Amsterdam of Limburg (momenteel remote): * Startdatum: Zo spoedig mogelijk * Projectduur: 12 maanden * Uren per week: 36 * Locatie: Remote Jouw impact als Flutter Developer Je bent verantwoordelijk voor Flutter ontwikkelingen / jij maakt het verschil met jouw commerciele ervaring en hands-on kennis op dit vlak. Wat breng je mee als Flutter Developer? * Minstens 1 jaar commerciele werkervaring als Flutter Developer * Goede kennis van iOS and Android systemen * Sterke Engelse/Nederlandse communicatieve vaardigheden Klinkt

Bekijk vacature »

Back-End Developer

Heb jij ervaring als Developer, ben je goed bekend met PHP en werk je graag aan projecten voor toonaangevende klanten? En zoek jij een uitdagende en verantwoordelijke positie met ontwikkelmogelijkheden binnen een informeel bedrijf? Lees dan verder! Doel van de functie Het vertalen van klantwensen naar Magenta functionaliteit en het up-en-running houden van webshops. Werkzaamheden Je maakt onderdeel uit van het development team en gaat je bezighouden met het implementeren van Magento voor internationale klanten. Je bouw thema’s, customizations en maakt koppelingen aan ERP- en kassasystemen. Je werkzaamheden bestaan verder uit: Het verwerken en vertalen van functionele wensen van klanten

Bekijk vacature »

Junior .NET developer .NET 4.6, .NET Core, API

Functieomschrijving Je komt hier in een team te werken van 10 .NET developers waarmee je samen maatwerk applicaties ontwikkelt voor MKB bedrijven. Idealiter vervul je een rol van fullstack developer maar als je beter bent aan de backend of aan de frontend dan zijn er zeker ook mogelijkheden voor je. Naast al het maatwerk voor klanten wordt er ook gewerkt aan een eigen applicatie, een SAAS portaal voor de verzekeringsbranche met een veelvoud aan toepassingen en ook daar wordt je ingezet. Deze werkgever is hard op weg om Microsoft gold partner te worden en ze zoeken collega’s die graag bijblijven

Bekijk vacature »

Ervaren full-stack C# developer, .NET CORE, Typesc

Voor een ambitieuze en snelgroeiende organisatie de regio Rotterdam zijn we momenteel op zoek naar een .NET C# developer. De organisatie bestaat inmiddels ruim 15 jaar en heeft een systeem ontwikkeld waarmee bedrijven de informatie van grote en complexe projecten beter kunnen managen. Dit systeem is geheel webbased. Om hun globale ambities waar te maken zijn ze recentelijk begonnen het systeem geheel te herbouwen met de nieuwste technieken. Denk hierbij aan technieken als .NET CORE, Typescript, React, Kubernetes en Azure. Niet alleen betekent voldoende nieuwe technische uitdaging maar ook betekent dit dat je voor 80 tot 90% van je tijd

Bekijk vacature »

Medior .Net Developer - Azure SaaS platform (Core/

De internationale en innovatieve marktleider van multi tenant SaaS belasting software en services breidt wegens succes haar teams uit. Hiervoor zoeken ze een Medior .Net C# Developer. In deze rol bouw je de bestaande applicaties en modules uit en bouw je nieuwe modules van scratch (Microservices). Je zorgt ervoor dat je klanten niet alleen snel, maar ook gemakkelijk en transparant hun zaken kunnen organiseren. Als developer ben je key in het proces en beslis je mee over de richting van het bedrijf, de architectuur van de applicaties en diensten die ze leveren. Je ontwikkelt hierin voornamelijk in oa .Net Core,

Bekijk vacature »

Gezocht/Looking for: Senior .NET Developer - Rotte

Due to extensive growht of our client we are currently searching for a Senior Dot.Net Software Developer. This is for one of our clients in the digital data transformation domain. Vacature Details/ Vacancy Details Contract type: Fixed term contract Start datum/ Date of Joining: immediate (work from home during Covid-19 period) Werkervaring/experience required: Minimum of 6 years experience in a similar role (must have) Understanding of Azure DevOps (must have) Experienced in Agile/Scrum software development Deep understanding of C#, .NET, .NET Core, REST, Azure services(must have) Experience with Kubernetes or Azure Service Fabric Database knowledge (a.o SQL, CosmosDB) Pluspoints would

Bekijk vacature »

Senior Front-end Developer vacature

Currently we are specific looking for professionals who speak fluently Dutch on C1 level. Senior Front-end Developer Jij weet wat er nodig is. Jouw hart gaat sneller kloppen van techniek. Jij wil vooruit. Je bent creatief, thuis in gebruikersinteractie en een Developer in hart en nieren. Daarnaast heb jij een klantgerichte en initiatiefrijke houding. Precies de kwaliteiten die een Front-end Developer nodig heeft. Wat doe jij als developer bij Sogeti? Als Front-end Developer werk je aan de technische realisatie van front-end (web)applicaties in de verschillende opdrachten voor Sogeti’s klanten. Dit kan zowel op klantlocatie, als intern bij Sogeti. Jij houdt

Bekijk vacature »

BI Ontwikkelaar

Ben jij gek op het verzamelen en analyseren van informatie? En wil je met deze passie graag zorgorganisaties meer inzicht verschaffen? Lees dan snel verder. Jouw baan Als BI ontwikkelaar Datawarehouse help je zorgorganisaties bij het inzichtelijk maken en grafisch presenteren van hun data. De ene dag werk je aan rapportages en kubussen, een dag later spreek je af met je collega’s om je in een ingewikkeld zorgproces te verdiepen. Je verwerkt informatiewensen samen met onze ontwikkelaars in de software. Afwisselend en uitdagend, want je werkt aan meerdere projecten tegelijk. Wat voor projecten? Dat stemmen we zoveel mogelijk af op

Bekijk vacature »

Applicatie ontwikkelaar

Wie zijn wij? Wireless Value ontwikkelt, produceert en verkoopt producten waarmee meetwaarden van sensoren draadloos kunnen worden overgestuurd naar plaatsen waar verdere bewerking en bewaking kan plaatsvinden. Wireless Value levert een familie van draadloze sensoren, basisstations (ontvangers) en toepassingen voor bediening en monitoring van processen en richt zich op de marktsegmenten industrie, utiliteit, energie en agri. Wie ben jij? Jij weet als geen ander wat je doet als je als Application Engineer aan de slag gaat, maar deze functie heeft bij ons ook andere verantwoordelijkheden en bevoegdheden. Natuurlijk ben jij het merendeel van je tijd bezig met applicatie ontwikkeling zoals

Bekijk vacature »

Fullstack .Net (Core)/C# Developer zet zich in voo

Voor een organisatie gespecialiseerd in het ontwikkelen van software voor dierenartspraktijken ben ik op zoek naar Fullstack .Net (Core)/ C# Developers. De organisatie, 15 jaar geleden opgericht heeft een internationale klantenkring met meer dan 10.000 praktijken. Er hangt een nuchtere en familiaire sfeer, waar je je snel in thuis zal voelen. In 3 Scrum teams wordt er gewerkt aan her/doorontwikkeling van de dierenartspraktijksoftware en aanverwante tools. Je focus ligt bij het design, programmeren, unit testen en deployen van van nieuwe functionaliteiten. Waarbij je voor 80% bezig bent in de backend en 20% in de frontend. Wat moet je kunnen? -

Bekijk vacature »

ASP.NET/Angular Junior Frontend Developer gezocht

Functieomschrijving Je gaat voornamelijk werken met ASP.NET en Angular voor het ontwikkelen van een gelikte Frontend van de applicatie. Je komt terecht in een softwarebedrijf waar momenteel bijna 30 man werken verdeeld over meerdere Scrumteams. Ervaring met ASP.NET en Angular zijn dus het belangrijkste, hier zal de focus op liggen. Ervaring met andere Microsoft frameworks (bijvoorbeeld .NET Core of het Entity Framework) is mooi meegenomen, maar geen harde eis. Wel is het belangrijk dat je goede communicatieve skills hebt zodat je goed samen kunt werken met je collega's. Het teamgevoel is hier namelijk sterk en samenwerken staat hoog in het

Bekijk vacature »

Senior .Net C# Developer - Kartrekker Azure SaaS p

De internationale en innovatieve marktleider van multi tenant SaaS belasting software en services breidt wegens succes haar teams uit. Hiervoor zoeken ze nu zowel een Medior als een Senior .Net C# Developer. In deze rol bouw je de bestaande applicaties en modules uit en bouw je nieuwe modules van scratch (Microservices). Als Senior sta je daarnaast op technisch vlak aan het roer van het team en stuur je je Junior collega’s aan. Je zorgt ervoor dat je klanten niet alleen snel, maar ook gemakkelijk en transparant hun zaken kunnen organiseren. Als developer ben je key in het proces en beslis

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Software Ontwikkelaar Zorg-ICT

Wil jij met ChipSoft impact maken in de zorg met jouw technische kennis als Software Ontwikkelaar? En lijkt het jou uitdagend om innovatieve software te ontwikkelen met de laatste Microsoft-tools en technieken? Wat doe jij als Software Ontwikkelaar? Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van jouw eigen module. Dit gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. Je werkt zelfstandig of in teamverband. ChipSoft maakt gebruik van een zelf ontwikkeld multi-tier framework. Tijdens een interne opleiding brengen wij je snel bij hoe je binnen deze architectuur je ontwikkelkunsten kunt

Bekijk vacature »

Senior .NET Developer Datawarehouse

Bouw jij graag mee aan de nieuwe generatie van het datawarehouse-framework voor de zorg? En kent programmeren in C# geen geheimen voor jou? Dan pas jij perfect in ons team in Amsterdam. We bieden jou de kans om complexe uitdagingen op te lossen en te werken met de nieuwste technieken. Jouw baan Zorgprofessionals nemen belangrijke beslissingen op basis van data uit ons Datawarehouse. Als .NET Developer Datawarehouse ontwikkel jij een nieuwe generatie van het achterliggende framework. Je werkt dagelijks met zeer grote en complexe datasets en krijgt te maken met uitdagende issues, waarbij diepgaand onderzoek nodig is. Je faciliteert de

Bekijk vacature »

Pagina: 1 2 volgende »

Arthur Nolles

Arthur Nolles

06/09/2016 18:56:23
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?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
Gewijzigd op 06/09/2016 18:58:39 door Arthur Nolles
 
PHP hulp

PHP hulp

26/10/2020 02:21:40
 
Ben van Velzen

Ben van Velzen

06/09/2016 19:47:22
Quote Anchor link
Grappig, hoe ga je adressen als Laan 1940-1945 12 dan goed oppakken? Dit soort dingen leidt *altijd* tot gezeur, laat mensen gewoon zelf hun adres invullen zoals het hoort. Dus met gewoon velden voor straat, huisnummer etc. Mensen weten veel beter waar ze wonen dan wat jij denkt ervan te kunnen maken.
 
Arthur Nolles

Arthur Nolles

06/09/2016 19:51:18
Quote Anchor link
Beste Ben,

Het gaat om een lijst die ik al heb, dus niet om data die ik nog moet verzamelen.

Toevoeging op 06/09/2016 20:10:24:

Daarnaast weet ik dat er altijd uitzonderingen zullen zijn. In het geval van Laan 1945 zal ik gewoon handmatig een aanpassing moeten doen en dat vind ik niet zo erg. Maar ik wil graag dat het bulk van de straatnamen goed geformateerd worden en daarbij kan ik hulp gebruiken. Ik stel hulp dan ook zeer op prijs.
 
Adoptive Solution

Adoptive Solution

06/09/2016 22:34:28
Quote Anchor link
Dit moet je een eind op weg helpen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php

echo '<h3>Array</h3>';

$haystack = array("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");

echo '<pre>';
print_r($haystack);
echo '</pre>';

echo '<h3>Output Array na preg_match</h3>';

$output = array();

for($x = 0; $x < count($haystack); $x++) {

    preg_match("/^(.+)\s(\d+)\s?(.?)(.*)?/", $haystack[$x], $output_array);

    if(count($output_array) > 0) {
        $output[] = $output_array;
    }

}


echo '<pre>';
print_r($output);
echo '</pre>';

echo '<h3>Netjes geprint</h3>';

for($i = 0; $i < count($output); $i++) {
    for($x = 0; $x < count($output[$i]); $x++) {
        echo ' {' . $output[$i][$x] . '} ';
    }

    echo "<br>";
}


?>
 
Arthur Nolles

Arthur Nolles

06/09/2016 23:11:09
Quote Anchor link
Wauw adoptive solutions! Dat lijkt al een heel eind in de goede richting. Toch gaat het nog niet helemaal goed. Bij de laatste vier worden de huisnummers niet gescheiden. Is daar nog een oplossing voor te vinden? Hartelijk bedankt, ik ben hier al heel blij mee, je helpt me echt enorm!

Toevoeging op 06/09/2016 23:11:42:

"Netjes geprint" wordt het zo weergegeven:

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

Toevoeging op 06/09/2016 23:13:56:

Nog een vraag; ik snap niet goed waarvoor de vraagtekens gebruikt worden, bijvoorbeeld: \s?. Kun je me dat vertellen, want in de documentatie kom ik er niet echt uit.
 
Adoptive Solution

Adoptive Solution

06/09/2016 23:37:09
Quote Anchor link
Introduceer eerst een fout met zoek vervang en maak van 23C en 23 C > 23/C

Dan wordt het netjes gesplits.

EDIT : te vroeg gegokt, dan maar met de hand wijzigen.

\s? kijkt of er een spatie is.
Gewijzigd op 06/09/2016 23:41:52 door Adoptive Solution
 
Arthur Nolles

Arthur Nolles

06/09/2016 23:43:32
Quote Anchor link
Hoi Adoptive Solution. Wat bedoel je met 'introduceer eerst een fout'? En misschien een stomme vraag, hoe voeg ik die slash toe, wanneer we het punt bereiken waarop we als straat Rodekruislaan 23 C krijgen, is de code al uitgevoerd. Kun je me hier nog mee helpen? Ik ben er ondertussen wel mee aan 't stoeien. Ik kan nadat de code is uitgevoerd wel een str_replace doen, maar dan is het nog niet gescheiden?

Toevoeging op 06/09/2016 23:50:04:

Ik volg je niet helemaal, wat bedoel je met 'te vroeg gegokt'? Ik kan de records niet echt met de hand wijzigen, ik heb 2 miljoen records die geformateerd moeten worden.
Gewijzigd op 06/09/2016 23:44:06 door Arthur Nolles
 
Adoptive Solution

Adoptive Solution

07/09/2016 00:05:06
Quote Anchor link
Ik weet niet hoeveel straatnamen er zijn, maar haal eerst de goede adressen eruit en corrigeer de rest met de hand.

Toevoeging op 07/09/2016 00:18:40:

Verwijder met zoek/vervang de spaties en / uit de huisnummers en gebruik dan dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
preg_match("/^(.+)\s(\d+)\s?(.?)\s?(.*)?/", $haystack[$x], $output_array);


Het resultaat is dan beter.

Je moet dan alleen nog bv. 001B met de hand splitsen.
Gewijzigd op 07/09/2016 00:19:44 door Adoptive Solution
 
Ivo P

Ivo P

07/09/2016 09:13:05
Quote Anchor link
ik zou een oplossing met een regex alleen loslaten op een adres met hooguit 1 getal (getal, dus niet cijfer) erin.

En dan ga ik er nog vanuit dat er ook werkelijk een huisnummer in je adres staat.

Alles wat je overhoudt:
plein 1940 12
Willem 3 laan 13
1e kerkstraat 3
kerkstraat 42F1

laat je door een stagiair oplossen.
 
Ward van der Put
Moderator

Ward van der Put

07/09/2016 10:46:33
Quote Anchor link
Deze oplossing in JavaScript is wel aardig:

https://gist.github.com/devotis/c574beaf73adcfd74997

Maar ik denk dat ik zelf een andere 'oplossingsstrategie' zou volgen. Voor Nederlandse adressen gelden enkele beperkingen: het huisnummer en de huisnummertoevoeging mogen beide niet langer zijn dan 5 karakters. Inclusief scheidingsteken tussen huisnummer en huisnummertoevoeging kom je daarmee op maximaal 11 karakters vanaf het einde van de adresregel. Die regels zijn het uitgangspunt van de volgende functie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
/**
 * @param string $address
 * @return array
 */

function getAddressArray($address)
{

    $address = trim($address);
    $street = $address;
    $home_number_extension = '';
 
    $home_number = substr($address, -11);
    $max = strlen($home_number);

    for ($i=0; $i < $max; $i++) {
        if (is_numeric($home_number{$i})) {
            $home_number = substr($address, -$max + $i);
            $street = substr($address, 0, strlen($address) - $max + $i);
            break;
        }
    }


    if ($i == $max) {
        $home_number = '';
        $home_number_extension = '';
    }


    for ($i = 0; $i < strlen($home_number); $i++) {
        if (!is_numeric($home_number{$i})) {
            $home_number_extension = substr($home_number, $i);
            $home_number = substr($home_number, 0, $i);
            break;
        }
    }


    return array(trim($street), trim($home_number), trim($home_number_extension));
}


// Test cases
$cases = array(
    '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',
);


// Test
echo '<pre>';
foreach ($cases as $case) {
    var_dump($case);
    var_dump(getAddressArray($case));
}

?>
 
Ivo P

Ivo P

07/09/2016 11:32:30
Quote Anchor link
In Ede is een "Laan 1933"

Woon je daar op nummer 12, dan verhuist bovenstaand script je naar huisnummer 1933 met toevoeging 12.

Misschien zou het nog een optie zijn om op basis van de postcode via een API een straatnaam erbij te zoeken voor de twijfelgevallen.
Met een beetje geluk matcht de gevonden straatnaam ook met de schrijfwijze van het adres in je lijst.

Maar met "BURG. WUITEWEG" vs "Burgemeester Wuiteweg" heb je evengoed nog een uitdaging.
 
Ward van der Put
Moderator

Ward van der Put

07/09/2016 11:42:37
Quote Anchor link
Alle cases van de TS worden wel gematcht, maar het blijft inderdaad een drama wat uitzonderingen betreft. Ik denk dat je zoiets in een nette gebruikersinterface moet verpakken die twijfelgevallen markeert voor een menselijke correctie. Bijvoorbeeld alle adresregels met getallen op twee verschillende posities.

Straatnamen vergelijken via een postcode-API is inderdaad ook slim. Eventueel kun je dat nog combineren met een soort spellingcorrectie die alle 'Burg. ' vervangt door 'Burgemeester '.
 
Adoptive Solution

Adoptive Solution

07/09/2016 12:04:02
Quote Anchor link
Mensen in Ede kunnen gerust zijn. Hun straatnaam wordt netje gepregd :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[1] => Array
        (
            [0] => Laan 1933 123
            [1] => Laan 1933
            [2] => 123
            [3] =>
            [4] =>
        )

    [2] => Array
        (
            [0] => Plein 40-45 99
            [1] => Plein 40-45
            [2] => 99
            [3] =>
            [4] =>
        )
 
Arthur Nolles

Arthur Nolles

07/09/2016 15:44:14
Quote Anchor link
Ik wil iedereen heel hartelijk bedanken, vooral Ward van der Put. Jouw oplossing lijkt in alle gevallen de juiste data te weergeven. Heel veel dank.
 
Thomas van den Heuvel

Thomas van den Heuvel

09/09/2016 11:58:57
Quote Anchor link
Neemt niet weg dat het probleem waarschijnlijk is ontstaan doordat je voor het hele adres één invulveld had. Je kunt dan geen onderscheid maken tussen de delen waaruit deze is opgebouwd. Deze wens is er nu blijkbaar?

De enige manier om dit probleem (naar de toekomst toe) op te lossen / te voorkomen is zoals @Ben aangeeft: het introduceren van aparte invoervelden.

Ik snap dat je je invoer die je nu reeds hebt wil fixen maar ik hoop dat dit ook duidelijk maakt dat deze ook soms echt niet klopt. Je moet niet proberen recht te breien wat krom is.

Idealiter heb je dus een mechanisme die al bij invoer kijkt of de informatie klopt. Bijvoorbeeld een autocomplete op grond van huisnummer + postcode. En voor de randgevallen kun je je adres handmatig in- of aanvullen.

Dit alles zodat de informatie die de database ingaat klopt en gestructureerd staat opgeslagen zodat je niet achteraf hier doorheen moet baggeren met allerlei vage regexes om de boel weer te fixen :/.
 
Arthur Nolles

Arthur Nolles

09/09/2016 12:03:19
Quote Anchor link
Beste Thomas,

Het is altijd lekker makkelijk om e.e.a. aan te nemen. Maar zoals ik eerder zei heb ik deze data zo aangeleverd gekregen en heb ik het hier mee te doen - ik was niet degene die de data heeft verzameld. Is inderdaad vervelend, maar geen preek waard. Ik denk dat wat je zegt voor iedereen wel duidelijk was.
 
Thomas van den Heuvel

Thomas van den Heuvel

09/09/2016 14:26:30
Quote Anchor link
Als deze data aangeleverd wordt dan kun je in het vervolg wellicht ook wat kritischer zijn over de vorm waarin dit aangeleverd wordt, anders maak je het op deze manier je eigen probleem waarbij je van een zwik ongestructureerde data iets gestructureerds moet maken.

En als dat ook niet mogelijk is dat loont het wellicht de moeite om eens een balletje op te gooien bij deze partij zodat ze hun eigen informatiehuishouding op orde stellen.

Misschien zit men niet te wachten op dit soort (bijdehante?) opmerkingen. Aan de andere kant, als ik door de luiheid / stupiditeit van anderen meer werk heb, dan zou ik daar iets van zeggen.

Je hoeft niet zomaar alles te accepteren wat over de schutting gegooid wordt.
 
- Ariën -
Beheerder

- Ariën -

09/09/2016 14:35:04
Quote Anchor link
Een balletje opgooien kan altijd, maar soms kan je er niks aan doen dat het nou eenmaal zo aangeleverd wordt. Niet iedereen is in alles zo efficiënt, en dan moet je roeien met de riemen die je nou eenmaal hebt om toch met omweggetjes de boel fatsoenlijk te kunnen verwerken.
Soms moet je gewoon keuzes maken!

Verder is dit ook niet echt de vraag van de topicstarter, en heeft die ook aangegeven niet anders te kunnen. Dus we kunnen ons maar beter bij deze 'wereldverbetering' neerleggen.
 
Thomas van den Heuvel

Thomas van den Heuvel

09/09/2016 14:52:40
Quote Anchor link
Deze website gaat toch over het oplossen van programmeervraagstukken? Het probleem hier is dat je input ongestructureerde bagger is (of, in ieder geval, er wordt te weinig onderscheid gemaakt tussen de verschillende onderdelen waarin je geinteresseerd bent (straatnaam, huisnummer, toevoeging etc.). De topicstarter is vervolgens op zoek naar een maatwerk oplossing om dit recht te breien).

De enige juiste oplossing is dan ook het repareren van (het aanleveren van) de input. Alle andere oplossingen, hoe goed deze ook werken, zijn symptoombestrijdingen van (lees: ad hoc oplossingen voor) het oorspronkelijke probleem.

Dit is geen wereldverbetering, dit is mensen confronteren met gemaakte keuzen. En proberen te achterhalen of deze beslissingen ergens op gebaseerd zijn. Of dat er uberhaupt is nagedacht over hoe je informatie wilt gaan gebruiken / inzetten.

Niets is zo verkwistend als voortborduren op een slecht ontwerp. Dit is dan ook niet iets wat aangemoedigd zou moeten worden.

EDIT: kan het ergens wel plaatsen dat TS enigszins geagiteerd reageert, niemand vind het immers leuk om andermans rommel op te ruimen. Zeg daar dan ook wat van.
Gewijzigd op 09/09/2016 15:05:07 door Thomas van den Heuvel
 
- Ariën -
Beheerder

- Ariën -

09/09/2016 15:09:35
Quote Anchor link
Daarom kan je bij de derde partij een balletje opgooien, en dan afwachten. Anders is het zoals ik net ook al zei, roeien met de riemen die je hebt. Je kan iemand ook niet altijd dwingen om de juiste informatie aan te leveren. Ik heb vroeger ook wel eens ranzige convertertjes moeten maken om data op te halen, en nee dat kon niet anders.

Een discussie over het 'hoe wel/niet aanleveren van adressen en in welk formaat' vind ik niet veel waard in dit topic. Daar mag wat mij betreft een nieuw topic voor worden aangemaakt. De topicstarter heeft immers al aangegeven zijn lijst al zo te hebben, en daar weinig aan te kunnen veranderen.
Gewijzigd op 09/09/2016 15:12:50 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

09/09/2016 21:37:53
Quote Anchor link
Edit:
**knip**
Ja, nu weten we je standpunt wel! Maar dat had ook vriedelijker gemogen!
Gewijzigd op 09/09/2016 23:24:57 door - Ariën -
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.