21xrx.com
2024-11-08 23:20:39 Friday
登录
文章检索 我的文章 写文章
"C++中使用string实现按逗号分割字符串的方法"
2023-07-05 01:33:23 深夜i     --     --
C++ string 分割 逗号

在C++中使用string实现按逗号分割字符串的方法,可以通过使用find()和substr()函数来实现。这种方法比较简单易懂,可以帮助程序员快速地将字符串切分为多个部分,方便日常编程的使用。

具体的实现方式如下:

1. 定义一个字符串,用来存储需要分割的字符串(假设为str)。

2. 使用find()函数来查找第一个逗号的位置(假设为pos),以此作为分割点。

3. 使用substr()函数,将字符串分割为两部分。其中第一部分是从0开始到pos结束的部分(假设为sub_str1),第二部分是从pos+1开始到字符串末尾的部分(假设为sub_str2)。

4. 重复步骤2和步骤3,直到字符串中不再包含逗号。

5. 最后,将所有分割出来的字符串存储到一个容器(例如vector )中。

具体的代码实现如下:


#include <iostream>

#include <string>

#include <vector>

using namespace std;

vector<string> split(const string& str, const char spliter)

{

  vector<string> result;

  size_t pos = 0;

  size_t length = str.length();

  while (pos < length)

  {

    size_t targetPos = str.find(spliter, pos);

    if (targetPos == string::npos) {

      result.push_back(str.substr(pos));

      break;

    }

    else {

      result.push_back(str.substr(pos, targetPos - pos));

      pos = targetPos + 1;

    }

  }

  return result;

}

int main()

{

  string str = "Hello,world,this,is,a,test";

  vector<string> result = split(str, ',');

  for (size_t i = 0; i < result.size(); i++) {

    cout << result[i] << endl;

  }

  system("pause");

  return 0;

}

通过使用find()和substr()函数,我们可以快速将一个字符串按逗号分割为多个部分,并将所有子串存储到一个vector容器中。这个方法简单易懂,而且非常适合快速处理简单的字符串分割需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复