std::string::erase en C++

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

  1. 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!

CPP-STL-Self-Paced-Course

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *