小洛的字符串分割c++
时间: 2024-08-27 08:04:11 浏览: 90
c++ 字符串分割util
小洛在C++中想要对字符串进行分割,可以使用标准库里的`std::string`和`std::getline`或者第三方库如`boost`中的`split`函数。这里简单介绍一种常见的基于`std::string::find`的方法:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
std::vector<std::string> splitString(const std::string& str, char delimiter) {
std::vector<std::string> tokens;
std::string token;
size_t pos = 0;
while ((pos = str.find(delimiter)) != std::string::npos) {
token = str.substr(0, pos);
// 如果找到了非空的token,就添加到tokens列表里
if (!token.empty()) {
tokens.push_back(token);
}
// 移除已处理的部分,以便下一次迭代
str.erase(0, pos + 1); // +1 for the delimiter
}
// 如果最后一个非空token没有被找到,将其添加
if (!str.empty()) {
tokens.push_back(str);
}
return tokens;
}
int main() {
std::string input = "Hello;World;This;Is;A;Test";
char delimiter = ';';
std::vector<std::string> result = splitString(input, delimiter);
for (const auto& token : result) {
std::cout << token << std::endl;
}
return 0;
}
```
在这个例子中,`splitString`函数会按照指定的分隔符(这里是`;`)将输入的字符串拆分成一系列子串,并返回一个`std::vector<std::string>`。
阅读全文