cpp/string/basic string/erase
Z cppreference.com
Funkcja erase usuwa określone znaki z ciągu.
Deklaracja funkcji i jej przeciążone odmiany:
1. string& erase ( size_t pos = 0, size_t n = npos );
2. iterator erase ( iterator position );
3. iterator erase ( iterator first, iterator last );
Pierwszy wariant usuwa daną ilość znaków od pewnego miejsca:
std::string linia = "nie ma co";
linia.erase(0, 4);
std::cout << linia; //"ma co"
Kolejny powoduje usunięcie jednego znaku wskazując go iteratorem:
std::string linia = "alar ma kota";
linia.erase(linia.begin() + 4);
std::cout << linia; //"ala ma kota"
Ostatni erase usuwa znaki zaczynające się na iteratorze first, a kończące się na last:
std::string linia = "ala ma kota";
std::string::iterator first = linia.begin() + 4;
std::string::iterator last = linia.begin() + 7;
linia.erase(first, last);
std::cout << linia; //"ala kota"