21xrx.com
2024-11-22 09:34:46 Friday
登录
文章检索 我的文章 写文章
C++中统计子串出现的次数
2023-06-27 14:08:49 深夜i     --     --
C++ 子串 统计 出现次数

在C++编程中,统计子串出现的次数是一项常见的任务。子串指的是主字符串中的一段连续的字符序列,例如在字符串“hello world”中,“world”是一个子串。

下面是一个简单的C++程序,用于统计一个字符串中某个子串出现的次数:


#include <iostream>

#include <string>

using namespace std;

int countSubstring(string str, string subStr) {

  int count = 0;

  size_t pos = str.find(subStr, 0); //从位置0开始查找子串

  while (pos != string::npos) { //如果找到了子串

    ++count; //计数器加1

    pos = str.find(subStr, pos + 1); //在下一个位置继续查找

  }

  return count;

}

int main() {

  string str = "hello world";

  string subStr = "o";

  int count = countSubstring(str, subStr);

  cout << "\"" << subStr << "\" appears " << count << " times in \"" << str << "\"" << endl;

  return 0;

}

第一个参数是主字符串,第二个参数是要查找的子串。该函数利用string类的成员函数find()在主字符串中查找子串,并使用一个循环计算子串在主字符串中出现的次数。

该程序的输出将告诉我们,在字符串“hello world”中,“o”这个子串出现了2次。

除了使用上述方法,还可以使用正则表达式库进行子串统计。无论哪种方法,都是在实际编程中极为常见的操作。

  
  

评论区

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