Sådan finder du længden af en tekststreng

En tekststreng er en række tegn, som et program behandler som samlet tekst. String length, eller strenglængde, beskriver hvor lang denne række er efter en bestemt tællemetode. Begrebet bruges blandt andet ved tekstbehandling, validering og lagring. Det lyder enkelt at tælle tegnene, men resultatet kan afhænge af, om længden måles i synlige tegn, kodepunkter eller bytes.

Hvad betyder strenglængde?

I daglig tale kan længden forstås som antallet af tegn, en læser ser. I programmering er det dog ikke altid den samme måleenhed, som en funktion for strenglængde bruger. Et bogstav med accent kan være repræsenteret som ét samlet tegn eller som et grundbogstav efterfulgt af et separat accenttegn. Begge repræsentationer kan se ens ud, men bestå af forskelligt mange dele.

Det er også vigtigt at skelne mellem tegn og bytes. Et byte er en enhed til lagring af data, mens et tegn er en del af tekstens indhold. I kodninger som UTF-8 kan forskellige tegn bruge forskelligt mange bytes. Derfor kan en strengs længde i bytes være en anden end dens længde i tegn. Mellemrum og tegnsætning tælles også med, medmindre den konkrete metode udtrykkeligt udelader dem.

Sådan tæller du længden i hånden

Hvis du skal finde antallet af synlige tegn i en enkel tekst, kan du følge disse trin:

  1. Fastlæg tællemetoden. Afgør, om du skal tælle synlige tegn, kodepunkter eller bytes. Brug den måleenhed, som opgaven eller systemet kræver.
  2. Afgræns strengen. Find præcist, hvor teksten begynder og slutter. Medtag kun indholdet, ikke eventuelle anførselstegn, der blot markerer strengen.
  3. Tæl hvert relevant element. Gå gennem teksten fra venstre mod højre. Medtag bogstaver, tal, mellemrum og tegnsætning, hvis tællemetoden omfatter dem.
  4. Undersøg sammensatte tegn. Hvis teksten indeholder accenter, emoji eller andre tegn, der kan bestå af flere kodepunkter, skal du følge den valgte definition frem for kun at tælle det, øjet opfatter som ét tegn.
  5. Kontrollér resultatet. Gentag optællingen eller del teksten op i mindre dele. Hvis opgaven handler om lagring, skal du særskilt undersøge kodningen og tælle bytes efter dens regler.

For eksempel består strengen kat af tre almindelige bogstaver. Hvis der tilføjes et mellemrum efter ordet, bliver den synlige streng ét tegn længere, fordi afsluttende mellemrum også er en del af teksten.

Hvor bruges strenglængde?

Strenglængder bruges ved kontrol af tekstfelter, så indhold kan holdes inden for en fastsat grænse. De kan også indgå i søgning, sortering, tekstudsnit og behandling af data, der sendes mellem programmer. Ved sådanne opgaver er det afgørende at vide, om grænsen gælder tegn eller bytes. En tekst kan nemlig indeholde relativt få synlige tegn, men fylde flere bytes i den valgte kodning.

Ved fejlfinding kan forskellen mellem synlig længde og teknisk længde forklare, hvorfor en tekst ikke passer i et felt eller bliver delt et uventet sted. Det er derfor nyttigt at kende både tekstens indhold og den måde, programmet repræsenterer og tæller den på. Når en opgave blot spørger efter almindelig tekstlængde, tælles de tegn, der faktisk indgår i strengen, inklusive mellemrum, medmindre andet er angivet.