华为技术——查找子字符串出现次数,并从原字符串中删除

来源:互联网 发布:cs起源 知乎 编辑:程序博客网 时间:2024/05/21 17:17

题目:查找子字符串出现次数,并从原字符串中删除。编写函数,string deletestring(string str,string sub_str)从str中查找 匹配的字符串sub_str,采用最左匹配,且输出形式为str+”_”+匹配的次数。

#include<iostream>#include<string>#include<algorithm>using namespace std;string deletestring(string str,string sub_str){    if(str.size()<=0|| sub_str.size()<=0)        return NULL;    int count=0;    string result;    string::size_type pos=0,tmp;    while((tmp=str.find(sub_str,pos))!=string::npos)    {        result+=str.substr(pos,tmp-pos);        pos=tmp+sub_str.size();        count++;    }    result+=str.substr(pos,tmp-pos);//最后一段不匹配的字符串    cout<<result<<" "<<count<<endl;    return result;}int main(){    string str,sub_str;    cin>>str>>sub_str;    deletestring(str,sub_str);}
0 0