std::string mySplit(std::string src, uint8_t field ,char delim=' ')
{
std::stringstream ss(src);
std::string target;
for(int i=0; i < field+1; ++i)
std::getline(ss, target, delim);
return target;
}

#include <iostream>
#include <regex>
#include <string>
#include <vector>
#include <sstream>
std::vector<std::string> split(const std::string &s, char delimiter)
{
std::vector<std::string> tokens;
std::string token;
std::istringstream tokenStream(s);
while (std::getline(tokenStream, token, delimiter))
{
tokens.push_back(token);
}
return tokens;
}
int main()
{
std::string s("1.1.1.1,2.2.2.2,3.3.3.3");
std::vector<std::string> v = split(s, ',');
for(auto &ip: v)
std::cout << "ip:" << ip << std::endl;
return 0;
}
备份地址: 【实现C++字符串的spilt】