Ik krijg van SIDN een naam terug in een String vorm.
Nu moet ik die naam ontleden in een voornaam, tussenvoegsel, achternaam
Dit omdat het systeem met andere systemen werkt die deze drie velden nodig heeft.

Nu is mijn vraag of jullie ook een leuke oplossing hebben voor dit probleem.
Exploden op spaties is geen optie, deze heeft een te grote foutmarge.
Ik denk aan een array van meest voorkomende tussengevoegsels te maken.

Maar misschien hebben jullie nog een andere oplossing?
exploden op spaties lijkt mij beter dan een lijst met tussenvoegsels maken, tenzij je ALLE tussenvoegsels gaat gebruiken wat ik betwijfel,

ik zou eerst alle . en _ omzetten in spaties, van alle dubbele spaties enkele maken en exploden maar,
Maar wat krijg je dan met namen als Tim H G van der Stelten ?
Dan zou je even moeten kijken naar het formaat dat SIDN altijd terug geeft. Het lijkt mij dat die H en G nog iets van voorletters zijn?

Enerzijds zou je met een reguliere expressie aan de gang kunnen gaan, alhoewel ik niet denk dat dat nodig is. Exploden op de spatie en vervolgens de verschillende delen analyseren is denk ik makkelijker. Het eerste deel zou bijvoorbeeld altijd de voornaam zijn, volgende delen bestaande uit 1 teken zijn extra voorletters, dan volgende delen zijn het tussenvoegsel en tenslotte het laatste deel is de achternaam.
SIDN geeft een String terug met hoe het is ingevuld. Zit geen formaat aan vast. Dat is het hele probleem een beetje.

Dat analyseren kan denk ik wel, weet iemand of hiervoor al eens een class/script voor is gemaakt, zou zonde zijn het wiel opnieuw uit te vinden.
Remco van Bers op 05/07/2010 13:53:41

SIDN geeft een String terug met hoe het is ingevuld. Zit geen formaat aan vast. Dat is het hele probleem een beetje.

Hoe ziet zo'n string er bijvoorbeeld uit dan? Kun je hier geen reguliere expressies op maken, of gewoon de string gebruiken om je gegevens te parsen?
Namen kunnen natuurlijk heel ingewikkeld zijn, met voorletters of tussenvoegsels tussen de voor- en achternaam. Het zal niet meevallen om elk geval te ondervangen met je script.

Mogelijke strategie:
1) van het begin van de string naar de eerste spatie = voornaam
2) van het eind van de string naar de laatste spatie = achternaam
3) de rest = tussenvoegsel

En ipv een spatie zou je nog wat andere tekens (bv. het koppelteken) kunnen checken.
Hoeveel tussenvoegsels zijn er nou?
Gewoon daarop checken.
Heb al lijsten gezien met zo 90 combinaties. Dus genoeg ;)
Maar intern hebben we al een beslissing genomen hoe we het aanpakken.

Al staat deze vraag natuurlijk nog altijd open. Het leukste is natuurlijk als we weinig foutmarge hebben.
Mag ik misschien vragen waarom je dit nodig hebt? Ik neem aan dat je SIDN deelnemer bent, anders kan je de persoonsgegevens niet inzien. En dan zou je als het goed is van je eigen klanten alle namen al netjes in een database moeten hebben staan.. Ben dus heel benieuwd wat je aan het maken bent ;-)

Klopt. Dit probleem doet zich enkel op als er een klant komt vanuit een andere registrar en dus al een profiel heeft op SIDN. Deze moet dan ook in het systeem zodat de klant met hetzelfde profiel nieuwe domainnamen kan registreren.

Edit:
Op SIDN is het dus niet erg. Maar tis erg slordig als een naam verkeerd in het systeem staat wat de klant ziet.

Reageren