Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Yleiset Merkkijonomenetelmät | Tekstimuotoinen tietotyyppi
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

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

insert.h

insert.h

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

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

Uusi teksti lisätään ennen merkkiä, joka on annetussa kohdassa. Tämä menetelmä on hyödyllinen merkkijonojen dynaamiseen muokkaamiseen ilman uusien luomista.

Korvaa

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

replace.h

replace.h

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

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

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 kohdasta start alkaen, 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?

Valitse oikea vastaus

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