前言

今天在刷leetcode题的时候发现c++原生和std并没有类似于QString的.split()功能,还需要自己实现,随用std的正则表达式实现了这个功能

代码

1
2
3
4
5
6
7
8
vector<string> res;
std::regex reg("\\s+"); // 正则表达式,匹配空格
std::sregex_token_iterator pos(s.begin(), s.end(), reg, -1);
decltype(pos) end; // 自动推导类型
for(; pos != end; ++pos)
{
res.push_back(pos->str());
}