Sådan vender du en tekststreng om
En tekststreng er en række tegn, for eksempel bogstaver, tal, mellemrum eller tegnsætning. At vende en streng om betyder, at tegnene står i modsat rækkefølge. Den sidste position bliver den første, og den første bliver den sidste. I programmering omtales dette ofte med det engelske udtryk string reverse.
Omvending ændrer rækkefølgen, men ikke selve tegnene. Hvis strengen er “kode”, bliver resultatet “edok”. Mellemrum og tegnsætning tæller også som tegn, så de skal følge med på deres oprindelige position i rækken, når rækken vendes. Det er vigtigt at skelne mellem at vende en hel streng og at vende rækkefølgen af ordene i en sætning.
Sådan vender du en streng i hånden
En enkel metode er at gå fra slutningen mod begyndelsen og skrive hvert tegn ned i den rækkefølge. Følg disse trin:
- Skriv strengen præcist, som den står, og medtag mellemrum og tegnsætning.
- Find det sidste tegn i rækken. Det bliver det første tegn i den omvendte streng.
- Flyt én position mod venstre, og skriv tegnet efter det første.
- Gentag bevægelsen, indtil du når det oprindelige første tegn.
- Kontrollér, at alle tegn er med, og at rækkefølgen går fra oprindelig slutning til oprindelig begyndelse.
Eksempelvis består “abc” af tegnene a, b og c. Begynd med c, fortsæt med b, og afslut med a. Den omvendte streng er derfor “cba”. Ved en streng med mellemrum gælder samme fremgangsmåde: Mellemrum behandles som et tegn og flyttes på lige fod med bogstaverne.
Omvending i programkode
I kode kan en streng behandles som en sekvens, hvor tegnene har positioner. Et program kan starte ved den sidste position og læse baglæns, indtil det når begyndelsen. En anden løsning er at bytte det første og sidste tegn, derefter det næstførste og næstsidste og fortsætte ind mod midten. Begge metoder bygger på samme princip: tegnene skifter plads parvist.
Det konkrete værktøj i et programmeringssprog afhænger af sprogets regler og datastruktur. Nogle metoder returnerer en ny streng, mens andre arbejder med en liste af tegn. Det kan også have betydning, om strengen må ændres direkte. Når resultatet skal bruges senere, bør det derfor afklares, om den oprindelige tekst skal bevares.
Hvor bruges omvendte strenge?
Omvending kan være nyttig, når tekst skal undersøges eller bearbejdes i programmering. Den kan indgå i øvelser om sekvenser, løkker og indeksering eller bruges som et trin i en større behandling af tekst. En omvendt streng kan også hjælpe med at kontrollere mønstre, hvor tegn fra hver ende skal sammenlignes.
En vigtig begrænsning er, at synlige tegn ikke altid svarer til ét enkelt tegn i den interne repræsentation. Accenter kan eksempelvis være gemt som grundbogstav og separat accenttegn, og nogle symboler består af flere kodeenheder. En simpel omvending kan derfor i visse situationer ændre, hvordan teksten vises. Til almindelige strenge med bogstaver, tal og standardtegn er metoden dog let at forstå: begynd ved slutningen, og arbejd tilbage gennem rækken.