C++ 字符串中子串个数

Posted HDAWN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 字符串中子串个数相关的知识,希望对你有一定的参考价值。

子串可重叠情况:


int fun1(const std::string& str, const std::string& sub){   int num = 0;   for (size_t i = 0;
     (i = str.find(sub, i)) != std::string::npos;
     num++, i++);   return num; }

 

子串不可重叠情况:


int fun2(const std::string& str, const std::string& sub){   int num = 0;   size_t len = sub.length();   if (len == 0)len=1;//应付空子串调用   for (size_t i=0;
    (i=str.find(sub,i)) != std::string::npos;
    num++, i+=len);   return num; }


以上是关于C++ 字符串中子串个数的主要内容,如果未能解决你的问题,请参考以下文章

C中统计子串个数

计算字符串中子串出现的次数。

选择字符串中子串最长的行

C语言--编程实现字符串中子串的查找

C语言试题159之计算字符串中子串出现的次数

C语言问题计算字符串中子串出现的次数。要求:用一个子函数subString()实现,参数为指向字符串