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; }
Den tillader også at tilføje 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
Indsættelse af ny tekst i en streng på en bestemt position ved hjælp af .insert()-metoden.
insert.h
1str.insert(pos, "text to add");
Positionen, angivet af pos-parameteren, bestemmer hvor den nye tekst tilføjes.
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 at bruge .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 bestemte tegn eller delstrenge fra en streng.
erase.h
1str.erase(start, n);
Hvis parameteren n matcher eller overstiger den resterende længde af strengen fra start, vil alle tegn fra start og frem 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