Yleiset 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
1str.append("added part");
Yhdistäminen
Toinen tapa on käyttää +-operaattoria. Se suorittaa yhdistämisen, kun sitä käytetään merkkijonoihin.
main.cpp
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
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
1str.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
1str.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
1str.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
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; }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme