◐ Shell
clean mode source ↗

std::basic_string::erase - cppreference.com

De cppreference.com

</tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody>

(1)

basic_string& erase( size_type index = 0, size_type count = npos );

(hasta C++20)

constexpr basic_string& erase( size_type index = 0, size_type count = npos );

(desde C++20)
(2)

iterator erase( iterator position );

(hasta C++11)

iterator erase( const_iterator position );

(desde C++11)
(hasta C++20)

constexpr iterator erase( const_iterator position );

(desde C++20)
(3)

iterator erase( iterator first, iterator last );

(hasta C++11)

iterator erase( const_iterator first, const_iterator last );

(desde C++11)
(hasta C++20)

constexpr iterator erase( const_iterator first, const_iterator last );

(desde C++20)

Elimina los caracteres especificados de la cadena.

1) Elimina min(count, size() - index) caracteres iniciando en index.

2) Elimina el carácter en la posición position.

3) Elimina los caracteres en el rango [first, last).

Parámetros

index - Primer carácter a eliminar.
count - Número de caracteres a eliminar.
position - Iterador al carácter a eliminar.
first, last - Rango de caracteres a eliminar.

Valor de retorno

1) *this

2) Iterador que apunta al carácter que sigue inmediatamente al carácter borrado, o end() si no existe tal carácter.

3) Iterador que apunta al carácter last al que se apuntaba antes del borrado, o end() si no existe tal carácter.

Excepciones

1) std::out_of_range si index > size().

2-3) (Ninguna)

En cualquier caso, si se lanza una excepción por alguna razón, esta función no tiene efecto (garantía de excepción fuerte). (desde C++11)

Ejemplo

#include <iostream>
#include <algorithm>
#include <string>

int main()
{
    std::string s = "Esto es un ejemplo";
    std::cout << s << '\n';

    s.erase(0, 5); // Borrar "Esto "
    std::cout << s << '\n';

    s.erase(std::find(s.begin(), s.end(), ' ')); // Borrar ' '
    std::cout << s << '\n';

    s.erase(s.find(' ')); // Recortar desde ' ' hasta el final de la cadena
    std::cout << s << '\n';
}

Salida:

Esto es un ejemplo
es un ejemplo
esun ejemplo
esun

Véase también