Put*_*din 26 c++ string stdstring erase-remove-idiom
如何从std :: string中删除第一个和最后一个字符,我已经在做以下代码了.
但是这段代码只删除了最后一个字符
m_VirtualHostName = m_VirtualHostName.erase(m_VirtualHostName.size() - 1)
Run Code Online (Sandbox Code Playgroud)
如何删除第一个字符?
Cam*_*ron 48
好吧,你也可以erase()使用第一个字符(注意erase()修改字符串):
m_VirtualHostName.erase(0, 1);
m_VirtualHostName.erase(m_VirtualHostName.size() - 1);
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,更简单的方法是获取子字符串:
m_VirtualHostName = m_VirtualHostName.substr(1, m_VirtualHostName.size() - 2);
Run Code Online (Sandbox Code Playgroud)
小心验证字符串实际上至少有两个字符...
我的 BASIC 解释器用
str->pop_back();
str->erase(str->begin());
Run Code Online (Sandbox Code Playgroud)
当然,我总是期望格式良好的 BASIC 样式字符串,所以assert如果不是,我将中止失败:
assert(str->front() == '"' && str->back() == '"');
只有我的两分钱。
| 归档时间: |
|
| 查看次数: |
67680 次 |
| 最近记录: |