La función borra una parte del contenido de la string, acortando la longitud de la string. Los caracteres afectados dependen de la versión de la función miembro utilizada:
Valor devuelto: erase() devuelve *this.
Complejidad del tiempo: O(n), n=longitud de la string
- Sintaxis 1: borra todos los caracteres de una string
string& string ::erase ()
CPP
// CPP code to illustrate // erase() function #include <iostream> #include <string> using namespace std; // Function to demo erase() void eraseDemo(string str) { // Deletes all characters str.erase(); cout << "After erase() : "; cout << str; } // Driver code int main() { string str("Hello World!"); cout << "Before erase() : "; cout << str << endl; eraseDemo(str); return 0; }
Producción:
Before erase() : Hello World! After erase() :
2. Sintaxis 2: borra todos los caracteres después de la posición ‘pos’
string& string ::erase (size_type pos) - Throw out_of_range if idx > size().
CPP
// CPP code to illustrate working of // erase(idx) #include <iostream> #include <string> using namespace std; // Function to demo erase void eraseDemo(string str) { // Deletes all characters except first one str.erase(1); cout << "After erase(idx) : "; cout << str; } // Driver code int main() { string str("Hello World!"); cout << "Before erase(idx) : "; cout << str << endl; eraseDemo(str); return 0; }
Producción:
Before erase(idx) : Hello World! After erase(idx) : H
3. Sintaxis 3: borra como máximo, len caracteres de *this, comenzando en el índice idx.
string& string ::erase (size_type idx, size_type len ) - If len is missing, all remaining characters are removed. - Throw out_of_range if idx > size().
CPP
// CPP code to illustrate // erase(size_type idx, size_type len ) #include <iostream> #include <string> using namespace std; // Function to demo erase void eraseDemo(string str) { // Deletes 4 characters from index number 1 str.erase(1, 4); cout << "After erase : "; cout << str; } // Driver code int main() { string str("Hello World!"); cout << "Before erase : "; cout << str << endl; eraseDemo(str); return 0; }
Producción:
Before erase : Hello World! After erase : H World!
4. Sintaxis 4: Borrar el carácter único en la posición del iterador pos.
string& string ::erase (iterator pos) - Return the first character after the last character removed - If no such character is remaining then, returns string::end() i.e. position after the last character.
CPP
// CPP code to illustrate // erase(iterator pos) #include <iostream> #include <string> using namespace std; // Function to demo erase void eraseDemo(string str) { // Deletes character at position 4 str.erase(str.begin() + 4); cout << "After erase : "; cout << str; } // Driver code int main() { string str("Hello World!"); cout << "Before erase : "; cout << str << endl; eraseDemo(str); return 0; }
Producción:
Before erase : Hello World! After erase : Hell World!
5. Sintaxis 5: Borrar caracteres del iterador pos. a otro iterador pos.
string& string ::erase (iterator beg, iterator end ) - Erases all characters of the range [ beg, end) - Returns end i.e. the first character after the last character removed. - If no such character is remaining then, returns string::end() i.e. position after the last character
CPP
// CPP code to illustrate // erase(iterator pos, iterator end) #include <iostream> #include <string> using namespace std; // Function to demo erase void eraseDemo(string str) { // Deletes all characters between 0th index and // str.end() - 6 str.erase(str.begin() + 0, str.end() - 6); cout << "After erase : "; cout << str; } // Driver code int main() { string str("Hello World!"); cout << "Before erase : "; cout << str << endl; eraseDemo(str); return 0; }
Producción:
Before erase : Hello World! After erase : World!
Artículo relacionado: std::string::clear
Este artículo es una contribución de Sakshi Tiwari . Si te gusta GeeksforGeeks (¡sabemos que te gusta!) y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA