#include <cstdlib>
#include <cstring>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <list>
#include <memory>
#include <regex>
#include <iterator>
void split(const std::string& inputStr, std::regex& pattern, std::vector<std::string>& outputVec)
{
std::sregex_token_iterator iter(inputStr.begin(), inputStr.end(), pattern, -1);
std::sregex_token_iterator end;
while(iter != end) {
if (*iter == "") {
iter++;
continue;
}
outputVec.push_back(*iter++);
}
}
int main()
{
const std::string inputStr = "[3,30,34,5,9]";
std::regex pattern("[\\[\\],]+");
std::vector<std::string> outputVec;
split(inputStr, pattern, outputVec);
for (auto out : outputVec) {
std::cout << "=========" << out << std::endl;
}
return 0;
}
C++基于stl正则表达式分割字符函数
最新推荐文章于 2024-02-26 11:47:28 发布