• 编写一个函数,接受三个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;
    }
  • 相关阅读:
    51 Nod 1068 Bash游戏v3
    51 Nod Bash 游戏v2
    51 Nod 1073 约瑟夫环
    UVA 12063 Zeros and ones 一道需要好好体会的好题
    51 Nod 1161 Partial sums
    2018中国大学生程序设计竞赛
    UVA 11971 Polygon
    UVA 10900 So do you want to be a 2^n-aire?
    UVA 11346 Possibility
    python with as 的用法
  • 原文地址:https://www.cnblogs.com/wdan2016/p/5961145.html
Copyright © 2020-2023  润新知