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

bookVanlige 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

append.h

copy
1
str.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

main.cpp

copy
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

main.cpp

copy
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

insert.h

copy
1
str.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

replace.h

copy
1
str.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

erase.h

copy
1
str.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

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 legger til teksten Hello i begynnelsen av strengen str?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 3. Kapittel 4
some-alt