假设str为待分割的字符串,pattern为分割的标记字符串,如下:
vector<string> split(const string& str, const string& pattern) { vector<string> ret; if(pattern.empty()) return ret; size_t start=0,index=str.find_first_of(pattern,0); while(index!=str.npos) { if(start!=index) ret.push_back(str.substr(start,index-start)); start=index+1; index=str.find_first_of(pattern,start); } if(!str.substr(start).empty()) ret.push_back(str.substr(start)); return ret; }