#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
while (getline(cin, s)) {
string a, b;
getline(cin, a);
getline(cin, b);
int found = s.find(a); //找第一次出现位置
while (found != string::npos) {
if ((found == 0&& s[found + a.length()] == ' ') || (s[found - 1] == ' ' && s[found + a.length()] == ' ')) { //如果在开头第一个单词或者中间部分单词为所找,则替换,此处注意原字符串中单词的一部分与所找单词一样不能替换
s.erase(found, a.length()); //从找到的位置删除原单词
s.insert(found, b); //从找到的位置进行替换
}
found = s.find(a, found + 1); //从下一个位置继续找
}
cout << s << endl;
}
}
牛客网 KY46 单词替换
最新推荐文章于 2023-09-23 16:30:49 发布