美文网首页
字符串分割-C++

字符串分割-C++

作者: tarzipc | 来源:发表于2017-08-01 23:50 被阅读0次

void StrSplit(std::vector<std::string> &vecs, const std::string &str, const char *cset) {
    std::size_t sp = 0, np = 0;

    //过滤掉前面的分割字符
    while(sp < str.size() && strchr(cset, str[sp])) ++sp;
    np = str.find_first_of(cset, sp);
    while (np != std::string::npos) {
        std::size_t len = np - sp;
        vecs.push_back(str.substr(sp, len));

        sp = np;
        while(sp < str.size() && strchr(cset, str[sp])) ++sp;
        np = str.find_first_of(cset, sp);
    }

    if (sp < str.size()) 
        vecs.push_back(str.substr(sp));
}

...

使用
std::string str("\t abc efg\thaha\r\n");
std::vector<std::string> vecs;
StrSplit(vecs, str, "\t\r\n ");
for (auto x: vecs)
  std::cout << x << std::endl;

//abc
//efg
//haha

相关文章

  • 使用boost::split_iterator进行字符串分割

    代码非常简单,实际上就是根据一个分割字符串组合,来返回分割后的字符串列表。在C++中,实际返回一个iterator...

  • C++ 读取txt,csv文件

    1、C++ 读取txt文件 2、C++ 读取csv文件附上一个分割字符串的功能函数,根据自己情况修改吧

  • 字符串分割-C++

  • C++字符串分割

    最近在研究C++,遇到一个问题需要将类似如下的字符串分割开:17;"_testCube##e17##13##Sma...

  • c++分割字符串

    1、find函数原型:size_t find ( const string& str, size_t pos = ...

  • C++分割字符串

    C++的string默认没有split函数,但是split函数又是如此常用,今天在网上查资料学习一下。方法一:使用...

  • C++字符串分割

    很多人对C++的刻板印象是C++不适合处理字符串,其实C++也是有很方便的函数可以处理字符串的。下面我们来讲一下C...

  • c++ 字符串分割处理

    第一种方式 第二种方式

  • 【2017-08-22】字符串及文本的处理(一)

    字符串的分割与匹配 字符串分割如何根据指定的分割符将一个字符串切割str.split()仅用于简单的分割符处理,只...

  • C++字符串分割方法总结

    在一些编程练习中,经常会对字符串进行处理,往往处理之前都会对字符串进行分割来提取各部分信息。在C++中虽然没有像p...

网友评论

      本文标题:字符串分割-C++

      本文链接:https://www.haomeiwen.com/subject/itlslxtx.html