1. 程式人生 > >C++中string.find()函式與string::npos求解刪除子串題目

C++中string.find()函式與string::npos求解刪除子串題目

7-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 

程式碼如下

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
    string a(81,'\n'),b(81,'\n');
    getline(cin,a,'\n');
    getline(cin,b,'\n');
    int i;
    while((i=a.find(b))!=string::npos)
    a.replace(i,b.size(),"");
    cout<<a;
    return 0;
}