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