首页 > 代码库 > 题目1168:字符串的查找删除
题目1168:字符串的查找删除
题目1168:字符串的查找删除
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:5092
解决:2097
- 题目描述:
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
- 输入:
输入只有1组数据。
输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。
- 输出:
删除输入的短字符串(不区分大小写)并去掉空格,输出。
- 样例输入:
in#include int main(){printf(" Hi ");}
- 样例输出:
#cludetma(){prtf("Hi");}
- 提示:
注:将字符串中的In、IN、iN、in删除。
#include<iostream>#include<stdio.h>#include<queue>#include<string>#include<string.h>#include<algorithm>#include<ctype.h>using namespace std;int main(){ char str[101]; gets(str); string a=str;//将其保存在a中 for(unsigned int i=0; i<a.size(); i++) { a[i]=tolower(a[i]);//将a中的字符全部改为小写 } while(gets(str))//输入长字符串 { string b=str,c=b; for(unsigned int i=0; i<b.size(); i++) { b[i]=tolower(b[i]); } int t=b.find(a,0);//在b中查找a的位置 while(t!=string::npos)//若查找成功,则重复循环 { c.erase(t,a.size());//删除c中相应位置字符,c为原串 b.erase(t,a.size()); t=b.find(a,t);//继续查找b中下一个出现字符串a的位置 } t=c.find(‘ ‘,0); while(t!=string::npos) { c.erase(t,1); t=c.find(‘ ‘,0); }//删除c中所有的空格 cout<<c<<endl; } return 0;}
题目1168:字符串的查找删除
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。