4925: 字符串的查找删除
Time Limit: 1 Sec Memory Limit: 32 MB
Submit: 24 Solved: 10
[Submit][Status][Web Board]
Description
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
Input
输入只有1组数据。
输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。
Output
删除输入的短字符串(不区分大小写)并去掉空格,输出。
Sample Input
in #include int main() { printf(" Hi "); }
Sample Output
#clude tma() { prtf("Hi"); }
HINT
注:将字符串中的In、IN、iN、in删除。
Source
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
string s1,strr, s;
getline(cin,s);
int len=s.length();
for(int i=0;i<len;i++)
s[i]=tolower(s[i]);
while(getline(cin,s1))
{
strr="";
int len1=s1.length();
for(int i=0;i<len1;i++)
strr+=tolower(s1[i]);
int p=strr.find(s,0);
while(p!=string::npos)
{
s1.erase(p,len);
strr.erase(p,len);
p=strr.find(s,p);
}
p=s1.find(" ",0);
while(p!=string::npos)
{
s1.erase(p,1);
p=s1.find(" ",1);
}
cout<<s1<<endl;
}
return 0;
}