C++ string 分割字符串

来源:互联网 发布:php积分系统源码 编辑:程序博客网 时间:2024/04/29 09:38

少废话,直接看实例

#include <vector>using namespace std;std::vector<std::string> splitString(const string &strSrc, const string &pattern){    vector<string > resultstr;    if (strSrc == "")        return resultstr;    // 添加在字符串最后,可以截取最后一段数据    std::string strcom = strSrc + pattern;    auto pos = strSrc.find(pattern);    auto len = strcom.size();    //    while (pos != std::string::npos)    {        std::string coStr = strcom.substr(0, pos);        resultstr.push_back(coStr);        strcom = strcom.substr(pos + pattern.size(), len);        pos = strcom.find(pattern);    }    return resultstr;}
int main(int argc, const char * argv[]){    std::string str = "Hello@World";    for (auto itor : splitString(str, "@"))    {        printf(" -- %s \n", itor.c_str());    }}

在这段代码中使用到string中的 find() 和 substr()
find函数原型,详细的API —— find链接

string (1)  size_t find (const string& str, size_t pos = 0) const;c-string (2)    size_t find (const char* s, size_t pos = 0) const;buffer (3)  size_t find (const char* s, size_t pos, size_t n) const;character (4)   size_t find (char c, size_t pos = 0) const;

substr 函数原型,详细的 API链接

string substr (size_t pos = 0, size_t len = npos) const;
0 0
原创粉丝点击