当前位置: 首页 > article >正文

C++之分割字符串的两种方式

方式一

#include <string>
#include <vector>
#include <sstream>
#include <iostream>

std::vector<std::string> split(const std::string& str, char delim) {
    std::stringstream ss(str);
    std::string item;
    std::vector<std::string> elems;
    while (std::getline(ss, item, delim))
    {
        if (!item.empty())
        {
            elems.push_back(item);
        }
    }
    return elems;
}

int main()
{
    std::string str = "CSDN CaosShangPa";
    std::vector<std::string> subStrs = split(str, ' ');
    for (const auto &subStr : subStrs)
    {
        std::cout  << subStr << std::endl;
    }
    return 0;
}

方式二

#include <string>
#include <vector>
#include <regex>
#include <iostream>

std::vector<std::string> split(const std::string& str, char delim) {
    std::string s;
    s.append(1, delim);
    std::regex reg(s);
    std::vector<std::string> elems(std::sregex_token_iterator(str.begin(), str.end(), reg, -1),
                                   std::sregex_token_iterator());
    return elems;
}

int main()
{
    std::string str = "CSDN CaosShangPa";
    std::vector<std::string> subStrs = split(str, ' ');
    for (const auto &subStr : subStrs)
    {
        std::cout  << subStr << std::endl;
    }
    return 0;
}

原文链接:C++之分割字符串的两种方式-CSDN博客


http://www.kler.cn/a/320967.html

相关文章:

  • 00000008_C并发编程与多线程
  • 基于高斯混合模型的数据分析及其延伸应用(具体代码分析)
  • jenkins入门12-- 权限管理
  • C#使用MVC框架创建WebApi服务接口
  • Spring Boot整合Minio实现文件上传
  • LabVIEW之树形控件
  • CentOS Stream 9部署Redis
  • Docker 安装 Apache(图文教程)
  • FPGA学习--verlog基础语法篇
  • 【C++】入门基础知识-1
  • Redis篇(环境搭建)
  • Vue 3 中 Props 的使用指南
  • MySQL原理、设计与应用全面解析
  • 前端和后端的相对路径和绝对路径
  • 自动化测试常用函数:弹窗、等待、导航、上传与参数设置
  • oracle sql分组(group,根据多个内容分组)在select之后from之前 再进行select查询,复杂子查询的使用
  • 采购管理系统SRM助力电子元器件制造企业构建高效的供应商管理体系
  • JavaSE——lombok、juint单元测试、断言
  • 技术速递|宣布 Azure Container Apps 上的 Java 体验正式推出
  • java 抽奖程序结合数据库,redis实现
  • golang操作mysql利器-gorm
  • Qt 每日面试题 -4
  • Linux 冯诺依曼体系结构与操作系统概念
  • 『功能项目』按钮的打开关闭功能【73】
  • 【 观测技术红外相机技术】
  • 算法_BFS解决多源最短路问题---持续更新