РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
147 of 815 menu

Метод erase

Метод erase класса string удаляет указанную часть строки. Строка изменяется прямо на месте - метод возвращает ссылку на саму строку. Первым параметром метод принимает позицию, с которой нужно начинать удаление, а вторым - количество удаляемых символов.

Если второй параметр не указан, удаляются все символы от заданной позиции до конца строки. Существует также перегрузка, принимающая итератор, - она удаляет один символ по указанной позиции.

Синтаксис

str.erase(pos, [count]) str.erase(iterator)

Пример

Давайте удалим 3 символа из строки с позиции 1 (со второго символа, так как первый имеет номер 0):

#include <iostream> #include <string> using namespace std; int main() { string str = "abcde"; str.erase(1, 3); cout << str << endl; return 0; }

Результат выполнения кода:

"ae"

Пример

Давайте удалим все символы до конца строки, начиная со второго (он имеет номер 1):

#include <iostream> #include <string> using namespace std; int main() { string str = "abcde"; str.erase(1); cout << str << endl; return 0; }

Результат выполнения кода:

"a"

Пример

Давайте удалим один символ по итератору, полученному через метод begin:

#include <iostream> #include <string> using namespace std; int main() { string str = "abcde"; str.erase(str.begin() + 2); cout << str << endl; return 0; }

Результат выполнения кода:

"abde"

Смотрите также

  • метод clear,
    который очищает всю строку
  • метод insert,
    который вставляет символы в строку
  • метод replace,
    который заменяет часть строки на другую
  • метод substr,
    который вырезает и возвращает подстроку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить