std::string trim(const std::string& str) { size_t start = str.find_first_not_of(" \t\n\r"); size_t end = str.find_last_not_of(" \t\n\r"); if (start == std::string::npos || end == std::string::npos) { return ""; } return str.substr(start, end - start + 1); } 把这个函数改进,加一个参数,删除指定字符
时间: 2023-06-12 11:08:01 浏览: 288
代码分析c++中string类
可以加一个额外的参数,表示需要删除的字符集合。修改后的代码如下:
```
std::string trim(const std::string& str, const std::string& chars) {
size_t start = str.find_first_not_of(chars);
size_t end = str.find_last_not_of(chars);
if (start == std::string::npos || end == std::string::npos) {
return "";
}
return str.substr(start, end - start + 1);
}
```
使用示例:
```
std::string str = " \t\n\r hello world! \n\r\t ";
std::string result = trim(str, " \t\n\r");
std::cout << result << std::endl; // output: "hello world!"
```
阅读全文