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.