std::vector StringSplit(const std::string & str, const std::string & pattern) { std::vector retval; std::string work = str; int pos; while((pos = work.find(pattern)) != std::string::npos) { std::string item = work.substr(0, pos); retval.push_back(item); work = work.substr(pos + pattern.length()); } if(work != "") retval.push_back(work); return retval; }