c++ - 删除第一个和最后一个字符 C++

标签 c++ string stdstring erase-remove-idiom

如何从std::string中删除第一个和最后一个字符,我已经在做下面的代码了。

但是这段代码只删除了最后一个字符

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

如何同时删除第一个字符?

最佳答案

嗯,你可以 erase()第一个字符也是(注意 erase() 修改了字符串):

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

但在这种情况下,更简单的方法是取一个子字符串:

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

首先要小心验证字符串实际上至少有两个字符...

关于c++ - 删除第一个和最后一个字符 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23834624/

相关文章:

c++ - 命名空间改变函数定义

c++ - 将 JsonCPP ValueIterator 与 STL 算法结合使用

c++ - 标记 union 内字符串影响的段错误

python - 如果你忘记了逗号,为什么 Python 会自动组合两个单独的字符串?

c++ - 是什么导致了我的错误?我正在尝试创建一个玩家类并将玩家名称存储为变量

c++ - 在结构 vector 中,我应该在结构中使用 char[] 而不是 std::string 以便它们是 POD 吗?

c++ - 从类到字符串的隐式和显式转换

c++ - C 或 C++ 中日历日期的算术(将 N 天添加到给定日期)

c++ - 写入文件时OpenCV未处理的异常

c - WIN32和其他c字符串的区别