C++ 关于字符串分割函数split封装
2021/5/7 22:26:59
本文主要是介绍C++ 关于字符串分割函数split封装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include#include#include#includeusing namespace std;vector<string> split(string T, string P){ vector<string> arr; if(T=="")return arr; unsigned point1 = 0, point2 = 0; if(P==""||T.find(P,point1)==string::npos){//不分割或者原字符串找不到分割符 arr.push_back(T); return arr; } while((point1=T.find(P,point1))!=string::npos){ if(point1==point2)arr.push_back(""); else arr.push_back(T.substr(point2,point1-point2)); point2 = point1+P.length();//跳过匹配串P point1 += P.length(); } if(point2<=T.length()-1)arr.push_back(T.substr(point2, T.length()-point2)); return arr;}int main(int argc, char const *argv[]){ vector<string> arr = split(",1,,2,,,,333", ",,"); cout<<"arr.size = "<<arr.size()<<endl; for(size_t i=0; i<arr.size(); i++){ if(arr[i]=="")cout<<"_ ";//代表为空 else cout<<arr[i]<<" "; } cout<<endl; return 0;}
这篇关于C++ 关于字符串分割函数split封装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30用户上传图片很多是临时的,如何管理比较好?-icode9专业技术文章分享
- 2024-11-30aws s3怎么修改文件的到期时间?-icode9专业技术文章分享
- 2024-11-30对抗验证是什么?-icode9专业技术文章分享
- 2024-11-30分布差异是什么?-icode9专业技术文章分享
- 2024-11-30如何将秒转换为指定格式的日期?-icode9专业技术文章分享
- 2024-11-30腾讯im sdk 的MessageContentHolder 如何请求接口修改UI?-icode9专业技术文章分享
- 2024-11-30UniApp 中怎么使用 WebSocket 连接服务?-icode9专业技术文章分享
- 2024-11-30软件架构和设计中Logic 层 和 Service 层有什么区别?-icode9专业技术文章分享
- 2024-11-30将参数放在数组中和分别传递参数的优缺点是什么?-icode9专业技术文章分享
- 2024-11-30在 Objective-C 中,怎么将一个字符串分割为一个数组?-icode9专业技术文章分享