21xrx.com
2024-12-22 16:06:42 Sunday
登录
文章检索 我的文章 写文章
C++如何统计字符串出现的次数
2023-07-02 20:56:11 深夜i     --     --
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++统计字符串出现次数的方法,可以根据自己的需求选择不同的方法来实现。不过需要注意的是,在实际应用中,我们还需要考虑到一些特殊情况,比如字符串中可能会存在空格、标点符号等分隔符,需要特别处理。

  
  

评论区

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