C++11实现字符串分割的示例
更新时间:2022年01月25日 10:56:00 作者:Mr_John_Liang
本文主要介绍了C++11实现字符串分割的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
C++11 字符串分割代码示例如下,很显然, 使用了C++11 特性,代码简洁好多
#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++ 实现字符串分割函数 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; }
到此这篇关于C++11实现字符串分割的示例的文章就介绍到这了,更多相关C++11 字符串分割内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Visual Studio2022下Opencv的配置图文教程
本文主要介绍了Visual Studio2022下Opencv的配置图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07JetBrains CLion永久激活超详细教程(最新激活方法)
JetBrains Clion 是一款专为 C/C++ 开发所设计的跨平台 IDE,本文适用 JetBrains CLion v2019.3/3.1/3.2/3.3 永久激活,附破解补丁和激活码,可以永久激活 Windows、MAC、Linux 下的 CLion,下面给大家分享JetBrains CLion永久激活超详细教程,感兴趣的朋友一起看看吧2023-01-01
最新评论