erase [C++ Reference]
Keywords: string,erase
Date: 2009-10-10T19:39:29-0700

## erase

Syntax:

        #include <string>
        iterator erase( iterator loc );
        iterator erase( iterator start, iterator end );
        basic_string& erase( size_type index = 0, size_type num = npos );

The erase() function either:

- removes the character pointed to by `loc`, returning an iterator to the character after the last character removed
- removes all characters between `start` and `end`, returning an iterator to the next character (not the one at end)
- removes `num` characters starting from `index`, returning the modified string. The parameters `index` and `num` have default values, which means that erase() can be called with just `index` to erase all characters after `index` or with no arguments to erase all characters.

For example:

      string s("So, you like donuts, eh? Well, have all the donuts in the world!");
      cout << "The original string is '" << s << "'" << endl;

      s.erase( 50, 13 );
      cout << "Now the string is '" << s << "'" << endl;
      s.erase( 24 );
      cout << "Now the string is '" << s << "'" << endl;
      s.erase();
      cout << "Now the string is '" << s << "'" << endl;

will display

      The original string is 'So, you like donuts, eh? Well, have all the donuts in the world!'
      Now the string is 'So, you like donuts, eh? Well, have all the donuts!'
      Now the string is 'So, you like donuts, eh?'
      Now the string is ''

erase() runs in linear time.

Related Topics: insert