输入一行字符串将其中的单词替换成另一单词

简介: 输入一行字符串将其中的单词替换成另一单词

🌵🌵🌵前言

题目

输入一个字符串,以回车结束(字符串长度不超过 100)。
该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。
现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

  • 输入格式
输入共 3 行。
第 1 行是包含多个单词的字符串 s;

第 2 行是待替换的单词 a(长度不超过 100);
第 3 行是 a 将被替换的单词 b(长度不超过 100)。

  • 输出格式

共一行,输出将 s 中所有单词 a 替换成 b 之后的字符串。

  • 输入样例:

You want someone to help you
You
I

  • 输出样例:

I want someone to help you

方法1:用ssin串流

//可以getline(cin,str) 直接读入一行

#include <iostream>
#include <sstream>
using namespace std;
string x[100000];

int main(){
    string str,a,b;

    getline(cin,str);
    cin>>a>>b;

    stringstream ssin(str);
    //stringstream的作用就是从string对象读取字符或字符串。

    string s;
    while(ssin>> s){ //s即为从str读出的字符/字符串
        if(s==a) cout<<b<<" ";
        else cout<<s<<" ";
    }
    return 0;
}

方法2:正常输入穷尽遍历比较

//可以getline(cin,str) 直接读入一行

#include <iostream>
#include <sstream>
using namespace std;
string x[100000];

int main(){
    string str,a,b;

    // getline(cin,str);
    // cin>>a>>b;

    int num=0;
    while(cin>>str){//读入所有的字符串
        x[num]=str;
        num++;
    }

    a=x[num-2],b=x[num-1]; //取出a,b
    // cout<<a<<" "<<b<<endl;

    for(int i=0;i<num-2;i++){//比较替换
        if(x[i]==a) {
            x[i]=b;
        }

    }

    for(int i=0;i<num-2;i++){//输出
        cout<<x[i]<<" ";
    }
    return 0;
}
目录
相关文章
如何去掉字符串开头,结尾或者中间的空格及其他不想要的字符
去掉文本字符串开头,结尾或者中间不想要的字符,比如空白。
|
2月前
|
开发框架 .NET 程序员
C# 去掉字符串最后一个字符的 4 种方法
在实际业务中,我们经常会遇到在循环中拼接字符串的场景,循环结束之后拼接得到的字符串的最后一个字符往往需要去掉,看看 C# 提供了哪4种方法可以高效去掉字符串的最后一个字符
282 0
|
5月前
字符串\单词本管理
字符串\单词本管理
23 1
|
6月前
|
固态存储 Python
正则表达匹配任意单个字符
正则表达匹配任意单个字符
199 4
|
Python
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
1064 0
|
存储 算法
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
在一个小写英文字母(a-z)组成的字符串的最短子串,其包含这个字符串中出现过的所有字母,输出最左边的该类子串
在一个小写英文字母(a-z)组成的字符串的最短子串,其包含这个字符串中出现过的所有字母,输出最左边的该类子串
108 0
单词替换,现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
给定一个字符串 aa,请你按照下面的要求输出字符串 bb。 给定字符串 aa 的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到 bb 的第一个字符; 给定字符串 aa 的第二个字符的 ASCII 值加第三个字符的 ASCII 值,得到 bb 的第二个字符; …
128 0
用#替换字符
给定一个由大小写字母构成的字符串。 把该字符串中特定的字符全部用字符 # 替换。
120 0