Удалить первый и последний символ C++
Как удалить первый и последний символ из std:: string, я уже делаю следующий код.
но этот код выводит только последний символ
m_VirtualHostName = m_VirtualHostName.erase(m_VirtualHostName.size() - 1)
Как удалить первый символ тоже?
2 ответов
Ну, вы могли бы erase()
первый символ тоже (обратите внимание, что erase()
изменяет строку):
m_VirtualHostName.erase(0, 1);
m_VirtualHostName.erase(m_VirtualHostName.size() - 1);
но в этом случае более простой способ-взять подстроку:
m_VirtualHostName = m_VirtualHostName.substr(1, m_VirtualHostName.size() - 2);
будьте осторожны, чтобы проверить, что строка на самом деле имеет по крайней мере два символа в нем сначала...
мой основной переводчик отбивает начало и конец кавычек с
str->pop_back();
str->erase(str->begin());
конечно, я всегда ожидайте хорошо сформированных строк основного стиля, поэтому я прервусь с failed assert
если нет:
assert(str->front() == '"' && str->back() == '"');
просто мои два цента.