题解 | #单词替换#

单词替换

https://www.nowcoder.com/practice/5b58a04679d5419caf62c2b238e5c9c7

使用find函数时会将所有匹配上的字符串全部替换掉,所以要在单词的前后加上空格
#include<iostream>
#include<string>
using namespace std;

int main() {
	string str;
	string oldstr, newstr;

	while (getline(cin, str)) 
	{
		str = ' ' + str;
		cin >> oldstr;
		oldstr = ' ' + oldstr + ' ';
		cin >> newstr;
		newstr = ' ' + newstr + ' ';
		while (str.find(oldstr) != string::npos )
		{
			int pos = str.find(oldstr);
			str.erase(pos, oldstr.size());
			str.insert(pos, newstr);

		}
		str.erase(0, 1);
		cout << str << endl;
	}

}

全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务