21xrx.com
2024-12-22 19:10:07 Sunday
登录
文章检索 我的文章 写文章
C++实现字符串子串计数
2023-06-28 09:46:00 深夜i     --     --
C++ 字符串 子串 计数

C++是一种非常流行的编程语言,它可以用来开发各种应用程序和算法。其中一个常见的应用是字符串处理,而在字符串处理中,一个非常常见的问题是计算某个字符串在另一个字符串中出现的次数。这个问题可以使用C++来解决。

首先,我们需要一个包含原始字符串和目标子串的输入。在C++中,可以使用字符串类来表示字符串。为了方便,我们可以使用STL的string类,它提供了许多有用的函数和方法。

接下来,我们需要一个函数来计数子串的出现次数。我们可以使用string类提供的find函数来搜索子串,然后在找到每个子串时增加计数器。可以使用循环来进行这个操作,直到整个字符串都被搜索完毕。

下面是一个示例函数,可以计算一个子串在另一个字符串中的出现次数:


int countSubstring(string str, string sub)

{

  int count = 0;

  size_t pos = 0;

  

  while((pos = str.find(sub, pos)) != string::npos)

  {

    ++count;

    pos += sub.length();

  }

  

  return count;

}

这个函数使用了一个while循环,它会一直搜索字符串中的子串,直到整个字符串都被搜索完毕。在每个匹配被找到时,计数器就会增加一次。最后,这个函数会返回子串出现的次数。

使用这个函数非常简单。我们只需要定义一个字符串和一个子串,然后使用函数来计算子串的出现次数。例如:


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

string sub = "is";

int count = countSubstring(str, sub);

cout << "The substring \"" << sub << "\" appears " << count << " times in \"" << str << "\"" << endl;

在这个例子中,我们定义了一个字符串和一个子串,并使用函数计算了子串在字符串中的出现次数。然后,输出了结果。

总的来说,C++是一种非常强大的编程语言,它可以用来解决各种问题,包括字符串处理。使用STL的string类和一些基本的函数和方法,可以很容易地实现字符串子串计数。

  
  
下一篇: C++编写日历

评论区

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