您的位置:首页 > 其它

substr 和 find函数实现自己的字符串分割函数(以指定分隔符分割字符串,分隔符可为字符串)

2014-09-11 10:47 387 查看
#include<iostream>
#include<vector>
#include<string>
using namespace std;

void splitTrim(string src, const char* token, vector<string>& vect)
{
int nend=0,nbegin=0,lenToken=strlen(token);
string s;
while(nend != -1)
{
nend = src.find(token, nbegin);  //string从nbegin处找token,没找到就返回-1,找到就返回第一个索引
if(nend == -1)
s = src.substr(nbegin, src.length()-nbegin); //没有分隔符了,就截取最后一段
else
s = src.substr(nbegin, nend-nbegin);
if(s!="")vect.push_back(s);
nbegin = nend + lenToken;  //设置新的起始查找位置
}
}

void main()
{
vector<string> vStr;
string src = "abc,d,efg,hjklq,saffdsff,rttrtrt,a";
splitTrim(src, ",", vStr);

for(vector<string>::iterator iter = vStr.begin(); iter != vStr.end(); iter++)
cout<<*iter<<endl;
}

/*
abc
d
efg
hjklq
saffdsff
rttrtrt
a
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐