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;
    }
    

      

  • 相关阅读:
    君のことが好きだよ。
    [拓展Bsgs] Clever
    同余方程笔记
    [HAOI2008] 糖果传递
    [USACO10DEC] Treasure Chest
    [APIO2007] 风铃
    Luogu_2015 二叉苹果树
    关于高精度
    关于博弈论
    关于DP和背包
  • 原文地址:https://www.cnblogs.com/itdef/p/3917113.html
Copyright © 2011-2022 走看看