字符串替换

时间限制: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 定义为保证大于不论什么有效下标的值。

NYOJ 113 字符串替换(C++STL解法)的更多相关文章

  1. nyoj 113 字符串替换 (string中替换函数replace()和查找函数find())

    字符串替换 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 编写一个程序实现将字符串中的所有"you"替换成"we"   输入 ...

  2. NYOJ题目113字符串替换

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr4AAAHvCAIAAAA930vtAAAgAElEQVR4nO3dPVLjysIG4G8T5CyE2A ...

  3. codewars.DNA题目几种解法分析(字符串替换)

    题干: 意思就是字符串替换,"A"与"C"配对,"T"与"G"配对,DNA不为空. 解法一:我的解法,用for循环遍历字 ...

  4. nyoj——113 getline

    字符串替换 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 编写一个程序实现将字符串中的所有"you"替换成"we"   输入 ...

  5. StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?

    StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing t ...

  6. MySQL字符串替换与HTML转义

    ps:今天遇到一个问题,从数据库读取一个字符串,然后在jsp用EL表达式显示时,因为数据库原始数据是带有HTML标签的,所以显示的时候会把标签直接转换成HTML,但是我想要的是HTML标签字符串,所以 ...

  7. php中几个字符串替换函数详解

    在php中字符替换函数有几个如有:str_replace.substr_replace.preg_replace.preg_split.str_split等函数,下面我来给大家总结介绍介绍. 一.st ...

  8. JS字符串替换函数:Replace(“字符串1″, “字符串2″),

    JS字符串替换函数:Replace(“字符串1″, “字符串2″), 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉, ...

  9. .Net字符串替换

    在.Net中,有些地方需要进行字符的替换才能实现一些相关功能,这里是一个简单的字符串替换的方法 //如下,变量strWhere中是通过一些方法获取的sql拼接的条件语句,但在数据库中是多表查询,有同名 ...

随机推荐

  1. 【10.7校内测试】【队列滑窗】【2-sat】【贪心+栈二分+线段树(noip模拟好题)】【生日祭!】

    比较好想的一道题,直接用队列滑窗,因为扫一遍往队列里加东西时,改变的只有一个值,开桶储存好就行了! #include<bits/stdc++.h> using namespace std; ...

  2. CD0J/POJ 851/3126 方老师与素数/Prime Path BFS

    Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9982   Accepted: 5724 Descri ...

  3. Git_从远程库克隆

    上次我们讲了先有本地库,后有远程库的时候,如何关联远程库. 现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫gitskill ...

  4. How far away ?(DFS)

    How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  5. (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。) (Microsoft SQL Server,错误: 233)

    ------------------------------ 无法连接到 IFCA-LIUWEI/SQL2005. ------------------------------其他信息: 已成功与服务 ...

  6. 不用软件快速拥有几百个QQ群并都是管理员

    不用软件快速拥有几百个QQ群并都是管理员!快速拥有有几十万精准数据库的方法 !和快速收集上亿邮箱的思维方法(附上5种赚钱方法).pdf_免费高速下载|百度云 网盘-分享无限制 http://pan.b ...

  7. [MySql]windows下设置mysql默认编码

    摘要 在安装好mysql的时候,如果新建数据库或者表默认的编码为latin1,如果这时候插入中文时,出出现类似下面的乱码的问题. SQLException: Incorrect string valu ...

  8. 使用Facade模式更新库存、确认订单、采取打折、确认支付、完成支付、物流配送

    Facade模式对外提供了统一的接口,而隐藏了内部细节.在网上购物的场景中,当点击提交订单按钮,与此订单相关的库存.订单确认.折扣.确认支付.完成支付.物流配送等都要做相应的动作.本篇尝试使用Faca ...

  9. 聊聊JVM的年轻代(转)

    聊聊JVM的年轻代 本文转自http://ifeve.com/jvm-yong-generation/ 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代 ...

  10. mybatis配置文件,注意标签配置顺序。否则报错The content of element type "configuration" must match "(properties?,settings?,...怎么解决

    感谢原作者http://www.cnblogs.com/zhoumingming/p/5417014.html 注意每个标签必须按照顺序写,不然就会提示错误 顺序是 <?xml version= ...