Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Yleiset Merkkijonomenetelmät | Tekstimuuttujatyyppi
C++ Tietotyypit

bookYleiset Merkkijonomenetelmät

Pyyhkäise näyttääksesi valikon

Lisääminen

Huomasimme, että merkkijonon loppuun ei voi lisätä uusia merkkejä indeksoinnilla. Tätä varten on kuitenkin kätevä .append()-metodi.

append.h

append.h

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

Yhdistäminen

Toinen tapa on käyttää +-operaattoria. Se suorittaa yhdistämisen, kun sitä käytetään merkkijonoihin.

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; }

Mahdollistaa myös tekstin lisäämisen alkuun tai molempiin päihin, mihin .append() ei kykene.

main.cpp

main.cpp

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

Lisääminen

Voit lisätä uutta tekstiä merkkijonoon tiettyyn kohtaan käyttämällä .insert()-metodia.

insert.h

insert.h

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

Sijainti, joka määritetään pos-parametrilla, osoittaa mihin kohtaan uusi teksti lisätään.

Uusi teksti lisätään ennen annetussa kohdassa olevaa merkkiä. Tämä menetelmä on hyödyllinen, kun halutaan muokata merkkijonoja dynaamisesti ilman uusien luomista.

Korvaa

Voit myös korvata osan merkkijonosta toisella merkkijonolla. Tämä onnistuu käyttämällä .replace()-menetelmää.

replace.h

replace.h

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

Tässä start tarkoittaa ensimmäisen korvattavan alkion indeksiä, ja n tarkoittaa korvattavan osan pituutta.

Seuraavassa on gif, joka havainnollistaa, miten .replace() toimii.

Poista

Voit myös poistaa osan merkkijonosta käyttämällä .erase()-metodia. Tämä on hyödyllistä, kun haluat poistaa tiettyjä merkkejä tai osamerkkijonoja merkkijonosta.

erase.h

erase.h

copy
1
str.erase(start, n);

Jos n-parametri vastaa tai ylittää merkkijonon jäljellä olevan pituuden alkaen kohdasta start, kaikki merkit kohdasta start eteenpäin poistetaan.

Parametrit start ja n toimivat samalla tavalla kuin .replace()-metodissa, tarjoten joustavuutta merkkijonon muokkaamiseen tarpeen mukaan.

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

Mikä koodi lisää tekstin Hello merkkijonon str alkuun?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 4
some-alt