c++ string 字符串分割

#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <string>
#include <sstream>
#include <deque>

using namespace std;

//字符串分割函数
vector< string> split( string str, 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;
}

int main()
{
string str="1^1^^^22334455^^^**";
string pattern="^*";
vector< string> result=split(str,pattern);
cout<<"The result:"<< endl;
for(int i=0; i<result.size(); i++)
{
cout<<result[i]<< endl;
}
// cout<<"azhu"<<endl;
return 0;
}

posted @ 2014-09-19 12:20  A_zhu  阅读(23023)  评论(0编辑  收藏  举报