c++string类分割字符串
时间: 2024-07-15 09:01:01 浏览: 99
`std::string` 类在 C++ 中提供了一种方便的方式来处理和操作字符串。如果你想将一个字符串分割成多个子串,你可以使用 `std::string::find` 或者 `std::string::substr` 方法配合循环来实现。其中,`find` 函数用于查找某个字符或子串的位置,而 `substr` 函数则返回从指定位置开始到指定长度的子串。
一种常见的方法是使用 `std::string::find` 和 `std::string::npos`(表示未找到)来实现字符串的分割,如下所示:
```cpp
#include <iostream>
#include <string>
#include <vector>
std::vector<std::string> splitString(const std::string &str, char delimiter) {
std::vector<std::string> result;
size_t start = 0;
while ((start = str.find(delimiter)) != std::string::npos) {
result.push_back(str.substr(0, start)); // 保存到结果之前的部分
str.erase(0, start + 1); // 移除已分割部分
}
if (!str.empty()) { // 如果字符串还有剩余,添加最后一部分
result.push_back(str);
}
return result;
}
int main() {
std::string input = "apple,banana;cherry";
char delimiter = ',';
std::vector<std::string> fruits = splitString(input, delimiter);
for (const auto &fruit : fruits) {
std::cout << fruit << std::endl;
}
阅读全文