获取一个字符串在另一个字符串中出现的次数。比如:获取“ ab”在“abkkcadkabkebfkabkskab” 中出现的次数。
#include<iostream>
#include<string>
using namespace std;
//得到次数的函数
int getCount(string mainStr,string subStr)
{
//确定主串,子串长度
int i=mainStr.length(),j=subStr.length();
if(i>j)//保证子串长度小于主串长度
{
int count=o;//次数
int pos=0;//检索的起始位置
int k=0;//中间变量
//子串在主串中从pos处开始最先出现的位置
while((k=mainStr.find(subStr,pos) != -1)
{
count++;
pos=k+j;//更新起始位置,检索位置+子串串长
}
return count;
}
return 0;
}
int main()
{
string s = "abkkcadkabkebfkaabkskab";
//你也可以在控制台输入自己的字符串
//cin>>s;语句
int con = getCount(s,"ab");
cout<<con;
return 0;
}
解决本体需要熟练知道string 库里面的函数find()。