通过string::find_first_of()函数找到分割标志在字符串中的位置
string::substr()截取string中的字符串
代码
//功能:通过指定的分隔符分割字符串
//参数1 源字符串
//参数2 被分割后的字符串容器引用
//参数3 分割符号
void split_string(string srcStr,vector&v_splitStr,string splitSymbol){//清空容器
vector().swap(v_splitStr);
while(string::npos != srcStr.find_first_of(splitSymbol)){//获取第一个分隔符之前的文件类型
string strT = srcStr.substr(0,srcStr.find_first_of(splitSymbol));
//将分割的字符加入到容器列表最后
v_splitStr.push_back(strT);
//删除分割字符前面的,保留后面的字符串
srcStr = srcStr.substr(srcStr.find_first_of(splitSymbol)+1,srcStr.size());
}
//最后的一个分割符号后面或者没有匹配到分割符号的字符加入容器列表
v_splitStr.push_back(srcStr);
}
测试
#include#include#includeusing namespace std;
//功能:通过指定的分隔符分割字符串
//参数1 源字符串
//参数2 被分割后的字符串容器引用
//参数3 分割符号
void split_string(string srcStr,vector&v_splitStr,string splitSymbol){//清空容器
vector().swap(v_splitStr);
while(string::npos != srcStr.find_first_of(splitSymbol)){//获取第一个分隔符之前的文件类型
string strT = srcStr.substr(0,srcStr.find_first_of(splitSymbol));
//将分割的字符加入到容器列表最后
v_splitStr.push_back(strT);
//删除分割字符前面的,保留后面的字符串
srcStr = srcStr.substr(srcStr.find_first_of(splitSymbol)+1,srcStr.size());
}
//最后的一个分割符号后面或者没有匹配到分割符号的字符加入容器列表
v_splitStr.push_back(srcStr);
}
int main(int argv,char* argc[]){string strTest = "hello,1;2;3;4;aaa,def";
vectorv_splitStr;
//指定分割符号, ;
split_string(strTest,v_splitStr,",;");
cout<<"分割后的字符串"<::iterator iter = v_splitStr.begin();iter != v_splitStr.end();iter++){cout<<*iter<
效果
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文标题:c++string通过指定的分隔符分割字符串-创新互联
分享路径:https://www.cdcxhl.com/article10/ieigo.html
成都网站建设公司_创新互联,为您提供企业建站、定制开发、搜索引擎优化、App设计、网站设计公司、动态网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联