C++ string的字符串分割

假设str为待分割的字符串,pattern为分割的标记字符串,如下:


vector split(const string& str, const string& pattern)
    {
        vector 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;
    }

你可能感兴趣的:(C++)