zoukankan      html  css  js  c++  java
  • stl string 使用指定的分隔符分割成数个子字符串

    #include <iostream>
    #include <vector>
    #include <string>
    #include <algorithm>
    
    using namespace std;
    
    void StringSplit(const string& str,vector<string>& vStr,const char& division)
    {
    	int startPos = 0;
    	int endPos = string::npos;
    		
    	startPos = str.find_first_not_of(division);
    	while(startPos != string::npos)
    	{
    		endPos = str.find_first_of(division,startPos);
    		if(endPos != string::npos)
    		{
    			string strSplit = str.substr(startPos,(endPos-startPos));
    			vStr.push_back(strSplit);
    		}else
    		{
    			string strSplit = str.substr(startPos);
    			vStr.push_back(strSplit);
    		}
    		startPos = str.find_first_not_of(division,endPos );
    	}
    
    
    	return;
    }
    
    
    void PrintElement(const string& str)
    {
    	cout << str << endl;
    }
    
    
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	string str1 = "_1_dfg45d#$__123456789_1_dfg45d#$__123456789_1_dfg45d#$__123456789_1_dfg45d#$__123456789_1_dfg45d#$__123456789";
    	string str2 = "__sdfsf_dfg45d#$__张三李四____sdfsf_dfg45d#$__张三李四____sdfsf_dfg45d#$__张三李四____sdfsf_dfg45d#$__张三李四__";
    	string str3 = "(*^(*^(*_dfg45d#$__天天向上__(*^(*^(*_dfg45d#$__天天向上__(*^(*^(*_dfg45d#$__天天向上__(*^(*^(*_dfg45d#$__天天向上__";
    	vector<string> vStr;
    	StringSplit(str1,vStr,'_');
    	for_each(vStr.begin(),vStr.end(),PrintElement);
    	cout << endl;
    	vStr.clear();
    
    	StringSplit(str2,vStr,'_');
    	for_each(vStr.begin(),vStr.end(),PrintElement);
    	cout << endl;
    	vStr.clear();
    
    	StringSplit(str3,vStr,'_');
    	for_each(vStr.begin(),vStr.end(),PrintElement);
    	cout << endl;
    	vStr.clear();
    	return 0;
    }
    

      

  • 相关阅读:
    这些简单优化能让你的Win10流畅很多
    win7系统登录界面背景怎么修改?
    如何在win7下通过easyBCD引导安装Ubuntu14.04
    为什么我的电脑打不开便签?
    打开Word为什么会出现感叹号呢???
    图像变换原理
    运行
    php、前端开发(网站建设)环境搭建
    zend studio面板功能
    zend studio汉化
  • 原文地址:https://www.cnblogs.com/itdef/p/3917113.html
Copyright © 2011-2022 走看看