string::erase

Структуры и функции   15 января 2012  Автор статьи:  

Процедура erase удаляет из строки последовательность символ заданной длины, начиная с указанной позиции. Рассмотрим процесс удаление подстрок из строки более подробно

Способы вызова процедуры

erase ( size_t pos = 0, size_t n = npos );
erase ( iterator position );
erase ( iterator first, iterator last );

Где

  • pos — индекс первого из удаляемых символов
  • n — длина цепочки удаляемых символов
  • position — итератор, указывающий на единственный удаляемый символ
  • first — итератор, указывающий на начало последовательности удаляемых символов
  • last — итератор, указывающий на окончание (не включительно) последовательности удаляемых символов

Сложность

Процедура имеет линейную от длины удаляемой подстроки сложность.

Примеры

#include
#include
using namespace std;

int main ()
{
string str = "This is an example phrase.";

str.erase (10,8);
//В результате строка str примет вид "This is an phrase."

str.erase (str.begin() + 9);
//В результате строка str примет вид "This is a phrase."

str.erase (str.begin() + 5, str.end() - 7);
//В результате строка str примет вид "This phrase."

return 0;
}

Замечания

При первом способе вызова процедуры оба передаваемых параметра являются необязательными. Если в этом случае передать только один параметр, то процедура удалит из строки все символы, начиная с позиции pos. Если же вообще не передавать параметры, то процедура удалит всю строку, подобно процедуре string::clear.

Научиться программировать

  • на Delphi

  • на Java

  • на C++