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?
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.
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.
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.