在C++中,有多種方法可以將字符串分割為子字符串。下面是一些常見的方法:
<sstream>
頭文件,然后使用 std::getline
函數(shù)和 std::stringstream
類來實(shí)現(xiàn)。#include <iostream>
#include <sstream>
#include <string>
#include <vector>
int main() {
std::string str = "Hello,World,Example,String";
std::stringstream ss(str);
std::vector<std::string> tokens;
std::string token;
while (std::getline(ss, token, ',')) {
tokens.push_back(token);
}
for (const auto& elem : tokens) {
std::cout << elem << std::endl;
}
return 0;
}
find
和 substr
??梢允褂眠@些函數(shù)來遍歷字符串并找到分隔符,然后提取子字符串。#include <iostream>
#include <string>
#include <vector>
int main() {
std::string str = "Hello,World,Example,String";
std::vector<std::string> tokens;
std::string delimiter = ",";
size_t pos = 0;
while ((pos = str.find(delimiter)) != std::string::npos) {
std::string token = str.substr(0, pos);
tokens.push_back(token);
str.erase(0, pos + delimiter.length());
}
tokens.push_back(str);
for (const auto& elem : tokens) {
std::cout << elem << std::endl;
}
return 0;
}
這些方法可以根據(jù)具體情況選擇使用,根據(jù)分隔符的不同,可以調(diào)整代碼中的分隔符參數(shù)。