编写一个函数,接受三个string参数,s,oldVal和newVal。使用迭代器及insert和erase函数将s中所有oldVal替换为newVal。测试你的程序,用他替换通用的简写形式,如,将“tho”,将“”“”

// test14.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<string>
#include<cctype>
#include <vector>
#include<exception>
#include <initializer_list>
#include<stack>
#include <algorithm>

using namespace std;
class Solation
{
public:
	string fun(string &s,string oldVal,string newVal)
	{
	string:size_t pos = 0;
		while (pos<s.length())
		{
		pos = s.find(oldVal, pos);//从零号位置开始查找
			if (pos >= s.length()) break;//如果没有找到退出循环

			s.erase(pos,oldVal.length());//如果找到,先删除原来的字符
			s.insert(pos,newVal);//添加新的字符

	       //s.replace(pos,oldVal.length(),newVal);//和上面两句是等价的

			pos = pos + newVal.length();//移动pos位置
		}
		cout << s<< endl;
		return s;
	}

};

int main()
{
	string s = "WangDanPiaoLiang!";
	string oldVal = "Dan";
	string newVal = "dandan";

	Solation so;
	//so.fun(s,oldVal,newVal);

	cout << endl;
	
	string str = so.fun(s, oldVal, newVal);

	cout << str<< endl;
	return 0;
}
posted @ 2016-10-14 16:56  wdan2016  阅读(733)  评论(0编辑  收藏  举报