21xrx.com
2025-03-31 08:08:04 Monday
文章检索 我的文章 写文章
C++如何统计字符串出现的次数
2023-07-02 20:56:11 深夜i     69     0
C++ 统计 字符串 出现 次数

C++是一种常用的编程语言,它可以用来解决各种各样的计算问题。其中,统计字符串出现的次数就是很常见的一种需求。这里我们介绍一些常用的方法来实现这一功能。

方法一:使用substr()函数

substr()函数可以截取一个字符串中的一段子字符串,因此可以用来对原始字符串进行分离。我们可以先将原始字符串进行分离,然后在进行比较,如果发现相同的字符串,则进行计数。最后输出计数的结果即可。

代码示例:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string str = "hello world, hello c++, hello java";
  int count = 0;
  string sub = "hello";
  size_t pos = 0;
  while((pos = str.find(sub, pos)) != string::npos) // find()函数会返回被查找到的字符串在源字符串中的位置
  {
    count++;
    pos += sub.length();
  }
  cout << sub << "出现的次数是:" << count << endl;
  return 0;
}

方法二:使用stringstream对象

stringstream对象是C++中的一个字符串流,它可以将字符串转化为数字或者将数字转化为字符串。我们可以利用stringstream将原始字符串进行分割,然后在进行比较,如果发现相同的字符串,则进行计数。最后输出计数的结果即可。

代码示例:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
  string str = "hello world, hello c++, hello java";
  int count = 0;
  string sub = "hello";
  istringstream iss(str);
  string token;
  while (getline(iss, token, ' ')) // getline()函数会将字符串str按照指定的分割符进行分隔
  {
    if(token == sub)
    {
      count++;
    }
  }
  cout << sub << "出现的次数是:" << count << endl;
  return 0;
}

总结

以上就是两种常用的C++统计字符串出现次数的方法,可以根据自己的需求选择不同的方法来实现。不过需要注意的是,在实际应用中,我们还需要考虑到一些特殊情况,比如字符串中可能会存在空格、标点符号等分隔符,需要特别处理。

  
  

评论区

请求出错了