C++11實(shí)現(xiàn)字符串分割的示例
C++11 字符串分割代碼示例如下,很顯然, 使用了C++11 特性,代碼簡(jiǎn)潔好多
#include <iostream> #include <string> #include <vector> #include <regex> ? using namespace std; ? //沒有使用C++11特性 vector<string> testSplit(string srcStr, const string& delim) { ?? ?int nPos = 0; ?? ?vector<string> vec; ?? ?nPos = srcStr.find(delim.c_str()); ?? ?while(-1 != nPos) ?? ?{ ?? ??? ?string temp = srcStr.substr(0, nPos); ?? ??? ?vec.push_back(temp); ?? ??? ?srcStr = srcStr.substr(nPos+1); ?? ??? ?nPos = srcStr.find(delim.c_str()); ?? ?} ?? ?vec.push_back(srcStr); ?? ?return vec; } ? //使用C++11特性 vector<string> testSplit11(const string& in, const string& delim) { ? ? vector<string> ret; ? ? try ? ? { ? ? ? ? regex re{delim}; ? ? ? ? return vector<string>{ ? ? ? ? ? ? ? ? sregex_token_iterator(in.begin(), in.end(), re, -1), ? ? ? ? ? ? ? ? sregex_token_iterator() ? ? ? ? ? ?}; ? ? ? ? ? } ? ? catch(const std::exception& e) ? ? { ? ? ? ? cout<<"error:"<<e.what()<<std::endl; ? ? } ? ? return ret; } ? int main() { ?? ?vector<string>ret = testSplit("how many credits ?", " "); ?? ?for(int i = 0 ; i < ret.size(); ++i) ?? ?{ ?? ??? ?cout<<ret[i]<<endl; ?? ?} ?? ? ?? ?return 0; }
C++ 實(shí)現(xiàn)字符串分割函數(shù) split
#include <iostream> #include <vector> using namespace std; vector<string> split( strData ) { vector<string> vecData; int nPos = strData.find( "," ); while( nPos > 0 ) { strTmp = strLine.substr( 0, nPos ); vecData.push_back( strTmp ); strLine.erase( 0, nPos+1 ); nPos = strData.find( "," ); } vecData.push_back( strData ); return vecData; }
到此這篇關(guān)于C++11實(shí)現(xiàn)字符串分割的示例的文章就介紹到這了,更多相關(guān)C++11 字符串分割內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用C語言實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的飛機(jī)游戲
在前面彈跳小球?的基礎(chǔ)上實(shí)現(xiàn)一個(gè)簡(jiǎn)單的飛機(jī)游戲,主要包括飛機(jī)的顯示、控制移動(dòng)、顯示復(fù)雜圖案、發(fā)射激光、打靶練習(xí)等功能,感興趣的可以嘗試一下2022-10-10哈希表實(shí)驗(yàn)C語言版實(shí)現(xiàn)
以下是對(duì)哈希表實(shí)驗(yàn)用C語言實(shí)現(xiàn)的代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07win10環(huán)境下C++ vs2015編譯opencv249的教程
這篇文章主要介紹了win10環(huán)境下C++ vs2015編譯opencv249的教程,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03C語言運(yùn)算符深入探究?jī)?yōu)先級(jí)與結(jié)合性及種類
C語言運(yùn)算符號(hào)指的是運(yùn)算符號(hào)。C語言中的符號(hào)分為10類:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位操作運(yùn)算符、賦值運(yùn)算符、條件運(yùn)算符、逗號(hào)運(yùn)算符、指針運(yùn)算符、求字節(jié)數(shù)運(yùn)算符和特殊運(yùn)算符2022-05-05VC++簡(jiǎn)單實(shí)現(xiàn)關(guān)機(jī)、重啟計(jì)算機(jī)實(shí)例代碼
這篇文章主要介紹了VC++簡(jiǎn)單實(shí)現(xiàn)關(guān)機(jī)、重啟計(jì)算機(jī)實(shí)例代碼,很實(shí)用的功能,需要的朋友可以參考下2014-07-07C++設(shè)計(jì)模式編程中使用Bridge橋接模式的完全攻略
這篇文章主要介紹了C++設(shè)計(jì)模式編程中使用Bridge橋接模式的完全攻略,Bridge將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化需要的朋友可以參考下2016-03-03