1. 程式人生 > 其它 >【例題3】單詞替換

【例題3】單詞替換

【例題3】單詞替換
題面

題目描述

輸入一個字串,以回車結束。

該字串由若干個單片語成,單詞之間用一個空格隔開,所有單詞區分大小寫。

現需要將其中的某個單詞替換成另一個單詞,並輸出替換之後的字串。

輸入格式

\(1\) 行是包含多個單詞的字串 \(s\)

\(2\) 行是待替換的單詞 \(a\)

\(3\) 行是單詞 \(b\),表示用單詞 \(b\) 替換單詞 \(a\)

\(s,a,b\) 最前面和最後面都沒有空格。

輸出格式

輸出將 \(s\) 中所有單詞 \(a\) 替換成 \(b\) 之後的字串。

樣例

樣例輸入

You want someone to help you
You
I

樣例輸出

I want someone to help you

資料範圍與提示

對於 \(100\%\) 的資料,\(1\le length(s),length(a),length(b)\le 100\)

分析

字串的 replace() 函式,形如 s1.replace(pos1, len, s2)

將字串 s1 中從 pos1 開始的 len 個字元替換為 s2

Code
#include <bits/stdc++.h>
#include <string>
using namespace std;

string s, a, b;

int main(void) {
    getline(cin, s);
    cin >> a >> b;

    while (s.find(a) != s.npos) {
        s.replace(s.find(a), a.size(), b);
    }

    cout << s;

    return 0;
}

部落格園:https://www.cnblogs.com/Juro/

Copyright ©2021 Juro

【轉載文章務必保留出處和署名,謝謝!】