字符串分割经常用到,这里做一个记录。方便查阅。


1.使用strtok();其中

采用strtok(),分隔符可以是多种,如 * ,#中的一种或几种的组合

vector<string>stringSplit(strings,constchar*split){vector<string>result;constintsLen=s.length();char*cs=newchar[sLen+1];strcpy(cs,s.data());char*p;p=strtok(cs,split);while(p){printf("%s\n",p);stringtmp(p);result.push_back(tmp);p=strtok(NULL,split);}returnresult;}


2.使用string.substr();其中

采用string.substr(),分隔符只能是一种,如 * ,#中的一种

vector<string>vec;intj=0;for(inti=0;i<str.size();i++){if(str[i]==''){stringtmp=str.substr(j,i-j);vec.push_back(tmp);j=i+1;}if(i==str.size()-1){stringtmp=str.substr(j,i-j+1);vec.push_back(tmp);}}