题目描述
770.单次替换
方法1
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string s,a,b;
getline(cin,s);
cin>>a>>b;
//加上空格可以保证如果b是单个字母,s中单词里面的字母不被替换。
s=' '+s+' ';
a=' '+a+' ';
b=' '+b+' ';
while(s.find(a)!=-1){
s.replace(s.find(a),a.size(),b);
}
s.erase(s.begin());
s.erase(s.end()-1);
cout<<s;
return 0;
}
方法2(y总)
字符串流stringstream做法,头文件#include[HTML_REMOVED]
C++ 代码
#include<iostream>
#include<sstream>//字符串流
using namespace std;
int main(){
string s,a,b;
getline(cin,s);
cin>>a>>b;
stringstream ssin(s);//ssin从字符串中读信息,用法同cin差不多
string str;
while(ssin>>str){
if(str==a)
cout<<b<<' ';
else
cout<<str<<' ';
}
return 0;
}