首页 > 编程语言 >C++字符串分割字符串

C++字符串分割字符串

时间:2022-12-30 15:23:32浏览次数:48  
标签:std 分割 string pos C++ separator result str 字符串

#include <iostream>
#include <vector>

std::vector<std::string> split_str(std::string& str , const std::string& separator)
{
    size_t pos = 0;
    std::vector<std::string> result_str;
    while((pos = str.find(separator)) != std::string::npos)   //只要找得到separator
    {
        std::string token = str.substr(0,pos);
        result_str.push_back(token);
        str.erase(0, pos + separator.length());
    }
    if(str.size() != 0)
        result_str.push_back(str);
    return result_str;
}

int main() {
    std::string s = "asdf#@#sdghdf#@#hsdfags#@#ampk#@#123";
    std::string separator = "#@#";
    std::vector<std::string> result = split_str(s,separator);
    for(int i = 0; i < result.size(); ++i)
        std::cout << result[i] << std::endl;
    return 0;
}

标签:std,分割,string,pos,C++,separator,result,str,字符串
From: https://www.cnblogs.com/horizonhz/p/17014964.html

相关文章

  • pytorch模型onnx部署(python版本,c++版本)
    转载:实践演练BERTPytorch模型转ONNX模型及预测-知乎(zhihu.com)使用bRPC和ONNXRuntime把BERT模型服务化-知乎(zhihu.com)1.安装anaconda一般有图形界面的个人电......
  • leetcode-557. 反转字符串中的单词 III
    557.反转字符串中的单词III-力扣(Leetcode)与代码[[leetcode-541.反转字符串II]]相关联,swapStrBytes函数,使用了上次的代码funcreverseWords(sstring)string{......
  • 引图像分割技术!轻松换背景2.0体验
    最近,在刚推出的《轻松换背景》2.0版本中,软件的内外轮廓抠图功能在引入图像分割技术的基础上推出了优化内外轮廓功能。软件名称轻松换背景软件版本2.0正式版软件作者​​......
  • 20 万字的 C++ 八股文&图解源码,发布!
    大家好,我是小贺。上周我放言说,这个礼拜整理出「C++八股文 」,给最近秋招季参加面试的读者朋友们,然后就有好几个读者追问小贺的C++八股文啥时候出,从大家的急切的言语中,能......
  • C++11:constexpr关键字
    1.C++常量表达式constexpr是C++11标准新引入的关键字,在学习其具体用法和功能之前,我们需要先搞清楚C++常量表达式的含义。所谓常量表达式,指的就是由多个(≥1)常量组......
  • C++进阶(位图+布隆过滤器的概念和实现+海量数据处理)
    位图概念位图:所谓位图,就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景。通常是用来判断某个数据存不存在的。适用场景:如果我们需要对大量的数据进行处理,判......
  • C++中vector的遍历方法
    假设有这样的一个vector:(注意,这种列表初始化的方法是c++11中新增语法)vector<int>valList={0,1,2,3,4,5,6,7,8,9};需要输出这个vector中的每个元素,测试原......
  • 不同标记的C++函数的链接签名
    #pragmaonceextern"C"{intTestAdd(inta,intb);externintTestAdd3(inta,intb);__declspec(dllexport)intTestAdd4(inta,intb);_......
  • 【C++11】lambda表达式
    什么是lambda表达式lambda表达式其实就是一个匿名函数对象。对象:即可以作为一个变量使用,进行复制和作为其他函数参数调用函数:即带有代码块,里面封装了一些操作语句匿名......
  • C++ Primer知识点(想起来啥记啥版)
    使用作用域操作符获取全局变量的值#include<iostream>//该程序仅用于说明:函数内部不宜定义与全局变量同名的新变量intreused=42;intmain(){intunique=......