std::basic_string::erase
De cppreference.com
<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>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><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)
*this2) 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
Ejecuta este código
#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
| Borra el contenido (función miembro pública) |