当前位置: 首页 > news >正文

NYOJ 113 字符串替换(C++STL解法)

字符串替换

时间限制: 3000 ms  |            内存限制: 65535 KB
难度: 2
描写叙述
编写一个程序实现将字符串中的全部"you"替换成"we"
输入
输入包括多行数据

每行数据是一个字符串,长度不超过1000
数据以EOF结束
输出
对于输入的每一行。输出替换后的字符串
例子输入
you are what you do
例子输出
we are what we do

 

 

也是做过非常多次的水题了,近期学STL。利用这题熟悉find(),replace()函数。

详细的replace()函数见之前的博文:点击打开链接。

find()函数是string中的查找函数,详细使用方法和replace()相似,replace()则是string中的替换函数。

本博文临时不给出find()函数的具体解释。具体使用能够百度。

 

题目简单,代码例如以下:

 

#include<iostream> 
#include<algorithm>
#include<string.h>
using namespace std;
int main()
{
	string s,s1,s2;
	s1="you";
	s2="we";
	int sign;
	while(getline(cin,s))
	{
		sign=s.find(s1,0);
		while(sign!=string::npos)
		{
			s.replace(sign,3,s2);
			sign=s.find(s1,sign+1);
		}
		cout<<s<<endl;
	}
	return 0;
}


 

 

注:

string::npos的理解:string 类提供了 6 种查找函数,每种函数以不同形式的 find 命名。
这些操作全都返回 string::size_type 类型的值,下面标形式标记查找匹配所发生的位置。
或者返回一个名为 string::npos 的特殊值,说明查找没有匹配。string 类将 npos 定义为保证大于不论什么有效下标的值。

 

 

 

 

相关文章:

  • 2.MyBatis 框架原理
  • 201604-201704格尔斯常用链接记录
  • java多线程基本概述(二十一)——BlockingQueue
  • 【安德鲁斯】基于脚本的数据库quot;增量更新quot;,如果不改变,每次更新java代码、!...
  • Django开发BBS---51网络课程笔记(1)
  • 问题之ssh中Host key verification failed的解决
  • 计算机是如何做加法的?(7)——回顾与总结
  • 浅析JavaBean
  • 根据不同省份读取配置文件
  • iostat 等运维命令用法
  • 单词最近距离
  • Eclipse安装SVN插件总结
  • 排序算法6--选择排序--简单选择排序
  • KVM安装配置
  • java中Random随机种子使用
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CSS 提示工具(Tooltip)
  • Just for fun——迅速写完快速排序
  • oschina
  • Spring Cloud中负载均衡器概览
  • Vue学习第二天
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 初识 webpack
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 翻译:Hystrix - How To Use
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 猴子数据域名防封接口降低小说被封的风险
  • 那些被忽略的 JavaScript 数组方法细节
  • 排序算法之--选择排序
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 如何合理的规划jvm性能调优
  • 手写一个CommonJS打包工具(一)
  • 微信小程序开发问题汇总
  • 学习JavaScript数据结构与算法 — 树
  • 一个完整Java Web项目背后的密码
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 追踪解析 FutureTask 源码
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • # 达梦数据库知识点
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #考研#计算机文化知识1(局域网及网络互联)
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (第一天)包装对象、作用域、创建对象
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET单元测试
  • .NET中的十进制浮点类型,徐汇区网站设计
  • @hook扩展分析
  • @JSONField或@JsonProperty注解使用
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @PreAuthorize注解