Almindelige 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
1str.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
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
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
1str.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
1str.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
1str.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
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; }
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat