- 说明和代码示例
说明和代码示例
使用std::string
的erase
删除数据,用std::find_if
来查找位置。
需要注意的是,从末尾开始查找需要用到.rbegin()
和.rend()
,此时调用find_if
的返回值是std::reverse_iterator
,需要加上.base()
来获取位置指针。
1 2 3 4 5 6 7 8
| std::string val;
const auto bNotWhite = [](const char c) { return c != ' ' && c != '\t'; }; val.erase(val.begin(), std::find_if(val.begin(), val.end(), bNotWhite)); val.erase(std::find_if(val.rbegin(), val.rend(), bNotWhite).base(), val.end());
|