Vanlige Strengmetoder
Sveip for å vise menyen
Legg til
Vi har sett at det ikke er mulig å legge til nye tegn på slutten av en streng ved hjelp av indeksering. Det finnes imidlertid en praktisk .append()-metode for dette formålet.
append.h
1str.append("added part");
Kjed sammen
En annen måte å gjøre dette på er å bruke +-operatoren. Den utfører sammenkjedning når den brukes på strenger.
main.cpp
12345678#include <iostream> int main() { std::string str = "Code"; str = str + "finity"; // or str += "finity" std::cout << str << std::endl; }
Den tillater også å legge til tekst i begynnelsen eller på begge ender, noe som .append() ikke kan gjøre.
main.cpp
12345678#include <iostream> int main() { std::string str = "finity"; str = "code" + str + ".com"; std::cout << str << std::endl; }
Sett inn
Du kan sette inn ny tekst i en streng på en bestemt posisjon ved å bruke .insert()-metoden.
insert.h
1str.insert(pos, "text to add");
Posisjonen, angitt av pos-parameteren, bestemmer hvor den nye teksten blir lagt til.
Den nye teksten settes inn før tegnet som for øyeblikket er på den angitte posisjonen. Denne metoden er nyttig for å endre strenger dynamisk uten å opprette nye.
Erstatt
Du kan også erstatte en del av en streng med en annen streng. Dette kan gjøres ved å bruke .replace()-metoden.
replace.h
1str.replace(start, n, "new text");
Her betyr start indeksen til det første elementet som skal erstattes, og n står for lengden på delen som skal erstattes.
Følgende er en gif som viser hvordan .replace() fungerer.
Slett
Du kan også fjerne en del av en streng ved å bruke .erase()-metoden. Dette er nyttig når du må slette bestemte tegn eller delstrenger fra en streng.
erase.h
1str.erase(start, n);
Hvis parameteren n samsvarer med eller overstiger den gjenværende lengden på strengen fra start, vil alle tegn fra og med start bli slettet.
Parameterne start og n fungerer på samme måte som i .replace()-metoden, og gir fleksibilitet til å endre strengen etter 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; }
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår