博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ 实现python的split,strip函数
阅读量:4098 次
发布时间:2019-05-25

本文共 948 字,大约阅读时间需要 3 分钟。

 程序中使用的范围for需要编译器支持c++11

#include
#include
#include
using namespace std;string strip(const string &str,char ch=' '){ //除去str两端的ch字符 int i = 0; while (str[i] == ch)// 头部ch字符个数是 i i++; int j = str.size() - 1; while (str[j] == ch ) // j--; return str.substr(i, j+1 -i );}vector
split(const string &str, string ch = " "){ //以 ch 为分割字符,把 cstr 分割为多个元素存到vector vector
ret; int pos = 0; int start = 0; while ((pos = str.find(ch, start) )!= string::npos ) { //cout << "pos:" << pos << endl; if (pos>start) ret.push_back(str.substr(start, pos-start)); start = pos+ch.size(); } if (str.size()>start) ret.push_back(str.substr(start)); return ret;}int main(){ string str = ".. first .. second .. third .."; for (string str : split(str,".")) //单个字符 cout << "-" << str << "-" << endl; for (string str : split(str,"..") ) //多个字符 cout << "-" << str <<"-"<

vs2013运行结果:

你可能感兴趣的文章
DirectX11 平行光
查看>>
DirectX11 点光
查看>>
DirectX11 聚光灯
查看>>
DirectX11 HLSL打包(packing)格式和“pad”变量的必要性
查看>>
DirectX11 光照演示示例Demo
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Vue+webpack构建单页router应用(二)
查看>>
从头开始讲Node.js——异步与事件驱动
查看>>
Node.js-模块和包
查看>>
NodeJS开发指南——mongoDB、Session
查看>>
Express: Can’t set headers after they are sent.
查看>>
2017年,这一次我们不聊技术
查看>>
实现接口创建线程
查看>>
HTML5的表单验证实例
查看>>
程序设计方法概述:从面相对象到面向功能到面向对象
查看>>
JavaScript基础1:JavaScript 错误 - Throw、Try 和 Catch
查看>>
SQL基础总结——20150730
查看>>
SQL join
查看>>
JavaScript实现页面无刷新让时间走动
查看>>
CSS实例:Tab选项卡效果
查看>>