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
Uutta tekstiä voidaan lisätä merkkijonoon tiettyyn kohtaan käyttämällä .insert()-metodia.
insert.h
1str.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
1str.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
1str.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
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