20200229訓練賽 L1 - 2 刪除字符串中的子串 (20分)

輸入2個字符串S1和S2,要求刪除字符串S1中出現的所有子串S2,即結果字符串中不能包含S2。

輸入格式:

輸入在2行中分別給出不超過80個字符長度的、以回車結束的2個非空字符串,對應S1和S2。

輸出格式:

在一行中輸出刪除字符串S1中出現的所有子串S2後的結果字符串。

輸入樣例:

Tomcat is a male ccatat
cat

輸出樣例:

Tom is a male

  • find(string s)返回字符串s第一次出現的開始下標,找不到返回string::npos
  • erase(a,b)從a下標開始刪除,刪除長度爲b
#include <bits/stdc++.h>
using namespace std;
int main()
{
	string a,b;
	getline(cin,a);
	getline(cin,b);
	while(a.find(b)!=string::npos)
	{
		a.erase(a.find(b),b.length());
	}
	cout<<a;
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章