博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串的查找删除
阅读量:5144 次
发布时间:2019-06-13

本文共 1987 字,大约阅读时间需要 6 分钟。

题目描述

给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。

输入

输入只有1组数据。

输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。

输出

删除输入的短字符串(不区分大小写)并去掉空格,输出。

样例输入

in#include int main(){printf(" Hi ");}

样例输出

#cludetma(){prtf("Hi");}

提示

注:将字符串中的In、IN、iN、in删除。

1 #include 
2 #include
3 #include
4 using namespace std; 5 6 int main(){ 7 string del_str; 8 getline(cin, del_str); 9 unsigned long del_len = del_str.size();10 for(size_t i = 0; i < del_len; i++) if(isupper(del_str[i])) del_str[i] += 32;11 string kong(del_len,' ');12 13 string ans_str;14 vector
upper_idxs;15 vector
::iterator it;16 17 while(getline(cin, ans_str)){18 unsigned long t = ans_str.find(' ', 0);19 while(t != string::npos){20 ans_str.erase(t, 1);21 t = ans_str.find(' ', t);22 }23 24 unsigned long ans_len = ans_str.size();25 for(int i = 0; i < ans_len; i++){26 if(isupper(ans_str[i])){27 ans_str[i] += 32;28 upper_idxs.push_back(i);29 }30 }31 32 t = ans_str.find(del_str, 0);33 while(t != string::npos){34 ans_str.replace(t, del_len, kong);35 for(unsigned long j = t; j < t + del_len; j++){36 for(it = upper_idxs.begin(); it != upper_idxs.end(); it++){37 if(*it == j) upper_idxs.erase(it);38 }39 }40 t = ans_str.find(del_str, t);41 }42 for(it = upper_idxs.begin(); it != upper_idxs.end(); it++) ans_str[*it] -= 32;43 44 t = ans_str.find(' ', 0);45 while(t != string::npos){46 ans_str.erase(t, 1);47 t = ans_str.find(' ', t);48 }49 cout << ans_str << endl;50 upper_idxs.clear();51 }52 return 0;53 }

 

 

转载于:https://www.cnblogs.com/zhang716921/p/9687218.html

你可能感兴趣的文章
update与upgrade
查看>>
轻量级的绘制图表js库--Morris.js
查看>>
POS tagging的解釋
查看>>
TI(德州仪器) TMS320C674x逆向分析之二
查看>>
WCF学习
查看>>
获取发送请求的ip
查看>>
Activity详解
查看>>
CCF201409-2 画图
查看>>
文件基本操作
查看>>
eclipse中添加tomcat
查看>>
【转】IntelliJ IDEA 创建 hello world Java web Maven项目
查看>>
浅谈OSI七层架构模型1
查看>>
云计算的三种模式:IaaS、PaaS和SaaS
查看>>
Zookeeper使用实例——服务节点管理
查看>>
编译Java类后不重启Tomcat有两种方式:热部署、热加载
查看>>
求解乘法逆元
查看>>
多版本软件构建策略分析
查看>>
防作弊原理
查看>>
使用JDK自带的Stax操作XML
查看>>
随机生成6位的字符串验证码,要求包含数字、大小写字母
查看>>