【YbtOJ高效进阶 字符串-3】单词替换

链接

YbtOJ高效进阶 字符串-3

题目描述

给出一个字符串,要求将其中的某个单词全部替换成新单词

样例输入

You want someone to help you
You
I

样例输出

I want someone to help you

思路

就还是硬模拟呗
用erase(删一段)和insert(插入一段)函数

代码

#include<algorithm>
#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>

using namespace std;

char sp;
int n, l, k;
string a, b, s, str[1005];

int main()
{
    
    
	do {
    
    
		cin>>str[++n];
		s += str[n];
		s += " ";
		sp = getchar();
	}while(sp == ' ');
	s = " " + s; 
	cin>>a; a = " " + a + " ";
	cin>>b; b = " " + b + " ";
	int len = a.length(), k = s.find(a, 0), l = k;
	while(k != -1)
	{
    
    
		s.erase(k, len);
		s.insert(k, b);
		k = s.find(a, l + 1);
		l = k;	
	} 
	cout<<s.substr(1, s.length() - 1) << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/LTH060226/article/details/113139711