std::string split
时间: 2023-10-23 15:12:07 浏览: 129
split 函数是一个常见的字符串处理函数,用于将一个字符串按照指定的分隔符分割成若干个子串并存储在一个容器中。一般定义如下:
```cpp
#include <string>
#include <vector>
std::vector<std::string> split(const std::string& str, const std::string& delimiter);
```
其中,`str` 是要分割的字符串,`delimiter` 是分隔符。函数返回一个 `std::vector<std::string>` 容器,存储分割后的若干个子串。
以下是一个示例实现:
```cpp
#include <string>
#include <vector>
std::vector<std::string> split(const std::string& str, const std::string& delimiter) {
std::vector<std::string> result;
std::string::size_type start = 0;
std::string::size_type end = str.find(delimiter, start);
while (end != std::string::npos) {
result.push_back(str.substr(start, end - start));
start = end + delimiter.length();
end = str.find(delimiter, start);
}
result.push_back(str.substr(start));
return result;
}
```
该函数以字符串 `str` 和分隔符 `delimiter` 作为输入参数,在函数内部使用 `std::string::find()` 和 `std::string::substr()` 函数对字符串进行分割,并将分割后的子串存储在一个 `std::vector<std::string>` 容器中。最后,函数返回该容器。
阅读全文