string类学习字符串中的子串出现次数与替换的问题

来源:互联网 发布:建站影响以后的优化吗 编辑:程序博客网 时间:2024/05/18 02:01

//找出字符串中bmw出现的次数,并把它换成BMW123

#include "stdafx.h"
#include <iostream>
#include "string"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

string str1="123bmwhsgbmw3ihbmwh4asjbmwe4";

int i=0;

//求出bwm在字符串中出现的次数

int index=str1.find("bmw",0);

//cout<<"index:"<<index<<endl;

while(index!=string::npos)

{

cout<<"在下标为:"<<index<<"找到bwm\n";

i++; //记录出现的次数

index=index+2;//为了减少循环次数

index=str1.find("bmw",index);

}

cout<<"bwm在字符串中出现的了:"<<i<<"次";



//将原来bwm出现的地方更改为BWM123

index=str1.find("bmw",0);

while(index!=string::npos)

{

str1.replace(index,3,"BMW123");//从index位置开始替换掉原来字符串的3个字符,用第三个参数代替

index=index+2;

index=str1.find("bmw",index);

}

cout<<"\n"<<str1;

system("pause");

return 0;

}

阅读全文
0 0
原创粉丝点击