Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Almindelige Strengmetoder | Tekstdatatypen
C++ Datatyper

bookAlmindelige Strengmetoder

Stryg for at vise menuen

Tilføj

Det er ikke muligt at tilføje nye tegn til slutningen af en streng ved hjælp af indeksering. Der findes dog en praktisk .append()-metode til dette formål.

append.h

append.h

copy
1
str.append("added part");

Sammenkædning

En anden metode er at bruge +-operatoren. Den udfører sammenkædning, når den anvendes på strenge.

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { std::string str = "Code"; str = str + "finity"; // or str += "finity" std::cout << str << std::endl; }

Det muliggør også tilføjelse af tekst i begyndelsen eller i begge ender, hvilket .append() ikke kan.

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { std::string str = "finity"; str = "code" + str + ".com"; std::cout << str << std::endl; }

Indsæt

Det er muligt at indsætte ny tekst i en streng på en bestemt position ved hjælp af metoden .insert().

insert.h

insert.h

copy
1
str.insert(pos, "text to add");

Positionen, angivet med parameteren pos, bestemmer hvor den nye tekst bliver tilføjet.

Den nye tekst indsættes før det tegn, der aktuelt er på den angivne position. Denne metode er nyttig til dynamisk at ændre strenge uden at oprette nye.

Erstat

Du kan også erstatte en del af en streng med en anden streng. Dette kan opnås ved hjælp af .replace()-metoden.

replace.h

replace.h

copy
1
str.replace(start, n, "new text");

Her betyder start indekset for det første element, der skal erstattes, og n står for længden af den del, der skal erstattes.

Følgende er en gif, der viser, hvordan .replace() fungerer.

Slet

Du kan også fjerne en del af en streng ved at bruge metoden .erase(). Dette er nyttigt, når du skal slette specifikke tegn eller delstrenge fra en streng.

erase.h

erase.h

copy
1
str.erase(start, n);

Hvis parameteren n svarer til eller overstiger den resterende længde af strengen fra start, vil alle tegn fra og med start blive slettet.

Parametrene start og n fungerer på samme måde som i .replace()-metoden og giver fleksibilitet til at ændre strengen efter behov.

main.cpp

main.cpp

copy
123456789101112131415161718192021
#include <iostream> int main() { std::string str = "finity"; str.append(".com"); // finity to finity.com std::cout << str << std::endl; str = "in" + str; // finity.com to infinity.com std::cout << str << std::endl; str.insert(2, "de"); // infinity.com to indefinity.com std::cout << str << std::endl; str.replace(0, 2, "co"); // indefinity.com to codefinity.com std::cout << str << std::endl; str.erase(10, 4); // codefinity.com to codefinity std::cout << str << std::endl; }
question mark

Hvilken kode tilføjer teksten Hello til begyndelsen af strengen str?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 3. Kapitel 4
some-alt