1. 程式人生 > >C++ string的字串分割

C++ string的字串分割

假設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;
    }