将字符串以某个分隔符分隔

简介: 将字符串以某个分隔符分隔

话不多说,直接上代码:

// 将str字符串以“division”字符分隔,最终结果生成多个子字符串并保存到vStr中。
void StringSplit(const std::string& str, std::vector<std::string>& vStr, const char& division)
{
  try
  {
    int startPos = 0;
    int endPos = std::string::npos;
    startPos = str.find_first_not_of(division);
    while (startPos != std::string::npos)
    {
      endPos = str.find_first_of(division, startPos);
      if (endPos != std::string::npos)
      {
        std::string strSplit = str.substr(startPos, (endPos - startPos));
        vStr.push_back(strSplit);
      }
      else
      {
        std::string strSplit = str.substr(startPos);
        vStr.push_back(strSplit);
      }
      startPos = str.find_first_not_of(division, endPos);
    }
  }
  catch (const std::exception& e) {
    std::cout << "parse error:" << str << std::endl;
  }
}
int main()
{
    std::string str = "123@456@789";
    std::vector<std::string> vResult;
    StringSplit(str, vResult, '@');
    string data1 = vResult[0];
    string data2 = vResult[1];
    string data2 = vResult[2];
}
相关文章
|
消息中间件 存储 算法
解读 RocketMQ 5.0 全新的高可用设计
本文主要介绍高可用架构的演进以及RocketMQ 5.0 全新的高可用设计。
12707 22
|
机器学习/深度学习 数据可视化 Python
Anaconda下Python中pydot与graphviz模块下载与安装方法
Anaconda下Python中pydot与graphviz模块下载与安装方法
390 1
|
安全 数据安全/隐私保护 UED
|
存储 安全 Linux
NVIDIA DOCA 1.4 持续增强数据中心基础设施服务
NVIDIA DOCA 软件框架旨在帮助开发者在当前和未来的 NVIDIA BlueField DPU 上实现卸载、加速和隔离网络、存储、安全和管理服务,通过提供功能强大的开发套件将软件定义、硬件加速的数据中心基础设施的性能、效率、安全性、可靠性提升至新的高度。
NVIDIA DOCA 1.4 持续增强数据中心基础设施服务
|
4天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
10592 53
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
10天前
|
人工智能 JavaScript API
解放双手!OpenClaw Agent Browser全攻略(阿里云+本地部署+免费API+网页自动化场景落地)
“让AI聊聊天、写代码不难,难的是让它自己打开网页、填表单、查数据”——2026年,无数OpenClaw用户被这个痛点困扰。参考文章直击核心:当AI只能“纸上谈兵”,无法实际操控浏览器,就永远成不了真正的“数字员工”。而Agent Browser技能的出现,彻底打破了这一壁垒——它给OpenClaw装上“上网的手和眼睛”,让AI能像真人一样打开网页、点击按钮、填写表单、提取数据,24小时不间断完成网页自动化任务。
2419 5