编写一个函数,接受三个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;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 如何打造一个高并发系统?
· 《SpringBoot》EasyExcel实现百万数据的导入导出