C++库中是没有string 的 split函数,也没有统计一个字符串中包含多少个给定的字符串,需要自己结合find 和 substr来进行实现。
std::vector<std::string> spilt(const std::string &str, const std::string &delim) { std::vector<std::string> spiltCollection; if(str.size()==0) return spiltCollection; int start = 0; int idx = str.find(delim, start); while( idx != std::string::npos ) { spiltCollection.push_back(str.substr(start, idx-start)); start = idx+delim.size(); idx = str.find(delim, start); } spiltCollection.push_back(str.substr(start)); return spiltCollection; }
find函数返回的是查找字符在整个字符串中的第一个字符的索引。
substr函数需要的参数是start 和 长度,是一个左闭右开的关系。