字符串的查找删除
题目描述
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
输入
输入只有1组数据。
输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。
输出
删除输入的短字符串(不区分大小写)并去掉空格,输出。
样例输入
in
#include
int main()
{
printf(" Hi ");
}
样例输出
#clude
tma()
{
prtf("Hi");
}
提示
注:将字符串中的In、IN、iN、in删除。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
string s,ts;
string sub;
void trans(string &xx){
for(int i=0;i<xx.size();i++){
if(xx[i]>='A'&&xx[i]<='Z') xx[i]+='a'-'A';
}
}
int main(){
cin>>sub;
trans(sub);
getchar();
while(getline(cin,s)){
ts=s;
trans(s);
string::size_type x=s.find(sub);
while(x!=s.npos){
for(int i=x;i<x+sub.size();i++){
s[i]=' ';
}
x=s.find(sub);
}
for(int i=0;i<s.size();i++){
if(s[i]!=' ') printf("%c",ts[i]);
}
cout<<endl;
}
return 0;
}