7-29 删除字符串中的子串 (20 point(s))

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。

输入格式:

输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。

输出格式:

在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。

输入样例:

Tomcat is a male ccatat
cat

输出样例:

Tom is a male

思路:

用string函数中的find函数找是否出现S2的字符串,有的话就删除

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s, str;
	getline(cin, str);
	getline(cin, s);
	while(str.find(s) != string::npos){
		str.erase(str.find(s), s.size());
	}
	cout << str;
	return 0;
}