Ga naar inhoud
  • 0

berekening om karakters in string te wijzigen


André1517653054

Vraag

Ik wil de kleine letter in een string met een punt (.)=Char(46) daar direct achter, vervangen door een hoofdletter.

Daarvoor had ik het volgende script bedacht voor een veld Veld::Naam:

 

Variabele instellen[$a; Waarde:PatternCount ( Veld::Naam ; Char(46))]

//Stelt aantal te wijzigen letters vast

Loop

Berekend Resultaat Invoegen[selecteren:Veld::Naam;Substitute ( Veld::Naam ; Middle ( Veld::Naam ; Position ( Veld::Naam ; Char(46) ; 1 ; $a )-1 ; 1) ; Upper ( Middle ( Veld::Naam ; Position ( Veld::Naam ; Char(46) ; 1 ; $a )-1 ; 1)))]

// Bovenstaand ziet er ingewikkeld uit maar is een 'gewone' functie: Substitute ( Veld ; zoekreeks ; vervangreeks)

Exit Loop IF [$a=0]

Variabele instellen[$a; Waarde:$a-1]

End Loop

 

Ik ben een beginneling dus ik zal wel iets niet goed doen.

 

Als er in het betreffende veld naast punten alleen letters voorkomen, dan werkt het script goed.

Maar als er een ampersand (&) in het veld voorkomt, of andere 'vreemde' tekens zoals - of #, dan levert dat onverwachte resultaten op.

 

Bv:

A.l.t. & Last Civilization (3 punten, 2 kleine letters die hoofdletter moeten worden)

levert als resultaat:

A.L.T. & LasT CiviLizaTion (T in Last en L en T in Civilization is niet de bedoeling)

 

Zoals gezegd, ik ben een beginneling

Kan iemand zien wat ik niet goed doe?

 

Vast bedankt.

André

Link naar reactie

3 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Substitute(Proper ( Substitute ( veld 1 ; "." ; ". "));". ";".")

 

Je zou deze, of een andere formule, ook kunnen invoeren bij veld opties, automatisch invoeren berekening, van het invoerveld zelf.

Na het invoeren van de onbewerkte informatie wordt deze automatisch omgezet als je het veld verlaat.

Voorkomt een loop.

 

 

GR

Harry

Link naar reactie

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.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...