借助正则实现split函数
int split(string str,vector<string> &v,string tag=' '){
//拼接正则表达式
string reStr = "[^" +tag+ "]+";
//构建正则对象
regex re(reStr);
//获取指向字符串开头的正则迭代器
sregex_iterator word_begin = sregex_iterator(str.begin(),str.end(),re);
//获取指向结尾的迭代器
sregex_iterator word_end = sregex_iterator();
for(auto i = word_begin; i != word_end; i++){
v.push_back((*i).str());
}
//返回分割后字符串的个数
return distance(word_begin,word_end);
}
参数介绍
1.str 源字符串
2.v 存放分割后的字符串
3.tag 用于分割的标志
返回值
返回分割后的字符串的个数