c++ - 查找字符串 1 包含字符串 2 C++ 的次数的函数

标签 c++ string count contains

我想检查第一个字符串包含第二个字符串的次数。 我在网上读到它,我发现了一个名为 std::find 的函数,我尝试使用它但我失败了...

std::string Str1 = "Hello Hello";
std::string Str2 = "ll";
Now what?

我试过

std::count

同样,但我发现它只对字母有效。

counter = std::count(Str1.begin(), Str2.end(), Str2); // dident work

帮助??

编辑: 这就是我想要做的:

unsigned int Nucleus::get_num_of_codon_appearances(const std::string& codon) const
{
    unsigned int counter = 0;
    counter = std::count(this->_DNA_strand.begin(), this->_DNA_strand.end(), codon);
    return counter;
}

最佳答案

如果您使用的是 c++11 或更高版本,则可以使用 std::regex 轻松完成此操作。

有点像,

#include <regex>
#include <iterator>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    const string str = "one two hello three four hello five hello";

    regex re("hello");
    cout << "Number of hellos : " <<  
        distance(sregex_iterator(str.begin(),str.end(), re),sregex_iterator());

}

Demo

关于c++ - 查找字符串 1 包含字符串 2 C++ 的次数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53036976/

相关文章:

c++ - 模板实例化问题

c++ - const 数组如何能够在每个元素中仅包含字符,而 char* 数组却能够在每个元素中指向字符串?

java - 如何在Java Formatter中转义减号?

计算给定文本中可能有空行的字符、单词和行数的 C 程序?

C++编译器——常用符号

c++ - 调试后 CMD 窗口什么也没有显示

java - 我应该使用什么数据结构来存储java中的二进制代码?

javascript - JS 帮助有选择地将 html 转义到预览区域

r - 计算R中每组连续连续值的长度

php - mysql查询计算评分总和