在 C++ 中,可以使用标准库中的 <sstream>
头文件提供的 std::stringstream
类来实现字符串分割。以下是一个简单的示例代码:
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> split(const std::string& str, char delim) {
std::vector<std::string> tokens;
std::stringstream ss(str);
std::string token;
while (std::getline(ss, token, delim)) {
tokens.push_back(token);
}
return tokens;
}
int main() {
std::string str = "Hello,World,This,Is,A,Test";
char delim = ',';
std::vector<std::string> tokens = split(str, delim);
for (const auto& token : tokens) {
std::cout << token << std::endl;
}
return 0;
}
在上面的示例中,split
函数接受一个字符串和一个分隔符作为参数,并返回一个包含分割后的子字符串的 std::vector<std::string>
对象。std::stringstream
类用于将字符串转换为流,并使用 std::getline
函数从流中读取子字符串,直到遇到分隔符为止。
以下是一些最佳实践:
std::getline
函数读取子字符串时,可以使用默认的分隔符(即空白字符),以便轻松地分割空格分隔的字符串。std::stringstream
类的 str
成员函数将分隔符添加到流中。std::istream_iterator
类来读取流中的子字符串。免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。