johandn Geplaatst: 13 januari 2021 Geplaatst: 13 januari 2021 Hallo, ik heb een tekstveld met straatnaam en huisnummer. Ik wil met een script het huisnummer weghalen en alleen de straatnaam houden. Voorbeelden: 'Nieuwstraat 1' moet 'Nieuwstraat' worden 'Ter Goten 3' moet 'Ter Goten' worden Ik heb zelf al wat gezocht in functies maar vind geen oplossing Quote
0 johandn Geplaatst: 13 januari 2021 Auteur Geplaatst: 13 januari 2021 Ik bedoel natuurlijk met een berekening het huisnummer weghalen Quote
0 bigbadwolf Geplaatst: 13 januari 2021 Geplaatst: 13 januari 2021 Helaas kun je niet eenvoudig een substitute of filter gebruiken omdat in straatnamen zelf ook regelmatig cijfers voorkomen. Wat je zou kunnen doen is met position de laatste spatie opvragen en dan met trim ( left ( straat ; position )) de rest overhouden. Deze truc is niet waterdicht, maar werkt voor het meeste wel. Als iemand bijvoorbeeld 1 HS gebruikt ga je de mist in. De trim zit erin om de overbodige spatie(s) op ter ruimen aan het eind. Bij position vraag de de laatste spatie op door Position ( straat ; " " ; length ( straat ) ; -1 ). Quote
0 Marsau Geplaatst: 13 januari 2021 Geplaatst: 13 januari 2021 Het probleem van de toevoegingen op de huisnummers zou je eventueel kunnen ondervangen door de while functie te gebruiken. Uitgaande van een normale Nederlandse adresnotatie: rechts van de spatie moet een nummer staan, of een nummer met een (alfanumerieke) toevoeging. While ( [ adres = Trim (adres); i = 1; p = Position ( adres ; " " ; length ( adres) ; -i ); probe = Middle ( adres ; p + 1 ; 1 ) ] ; Filter ( probe ; "0123456789" ) ≠ probe ; [ i = i + 1; p = Position ( adres ; " " ; length ( adres) ; -i ); probe = Middle ( adres ; p + 1 ; 1 ) ] ; Left ( adres; p - 1 ) ) De loop stopt als het eerste teken van de 'probe' een cijfer is, en geeft een '?' als er helemaal geen spatie is opgenomen. Quote
0 hiker Geplaatst: 13 januari 2021 Geplaatst: 13 januari 2021 Jaren geleden eens gedaan met diverse loopfuncties: Als eerste loop alle letters aan het eind weghalen (er van uitgaande dat als laatste een huisnummer overblijft) als tweede loop als laatste cijfer een 0 is dan weghalen, als laatste cijfer een 1 is dan weghalen, etc., dus 10 keer door de loop. Dat een aantal keer herhalen totdat als laatste een spatie overblijft, dan die weghalen. Daarna handmatig de lijst bij langs voor echte afwijkingen, maar dat waren op 2500 adressen maar 1 of 2, bijvoorbeeld Achterstraat 5 hs3 (zoiets was het) Dit soort oplossingen krijg je als je net te weinig verstand van Filemaker hebt. Het is niet fraai maar werkt wel. Quote
0 bigbadwolf Geplaatst: 14 januari 2021 Geplaatst: 14 januari 2021 Drie keer links is ook rechts… ;o) Quote
Vraag
johandn
Hallo,
ik heb een tekstveld met straatnaam en huisnummer. Ik wil met een script het huisnummer weghalen en alleen de straatnaam houden.
Voorbeelden:
'Nieuwstraat 1' moet 'Nieuwstraat' worden
'Ter Goten 3' moet 'Ter Goten' worden
Ik heb zelf al wat gezocht in functies maar vind geen oplossing
5 antwoorden op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.