vocales una ultimo quitar eliminar como caracteres caracter cadena c++ string stdstring erase-remove-idiom

c++ - ultimo - quitar caracteres de una cadena c#



Eliminar el primer y último carácter C++ (2)

Cómo eliminar el primer y último carácter de std :: string, ya estoy haciendo el siguiente código.

Pero este código solo elimina el último carácter.

m_VirtualHostName = m_VirtualHostName.erase(m_VirtualHostName.size() - 1)

¿Cómo quitar el primer personaje también?


Bueno, también podría erase() el primer carácter (tenga en cuenta que erase() modifica la cadena):

m_VirtualHostName.erase(0, 1); m_VirtualHostName.erase(m_VirtualHostName.size() - 1);

Pero en este caso, una forma más sencilla es tomar una subcadena:

m_VirtualHostName = m_VirtualHostName.substr(1, m_VirtualHostName.size() - 2);

Tenga cuidado de validar que la cadena realmente tiene al menos dos caracteres en ella primero ...


Mis intérpretes de BASIC cortan comillas iniciales y finales con

str->pop_back(); str->erase(str->begin());

Por supuesto, siempre espero cadenas de estilo BASIC bien formadas, por lo que abortaré con afirmación fallida, si no:

assert(str->front() == ''"'' && str->back() == ''"'');

Sólo mis dos centavos.