zoukankan      html  css  js  c++  java
  • 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 定义为保证大于不论什么有效下标的值。

     

     

  • 相关阅读:
    C语言截取从某位置开始指定长度子字符串方法
    vim:放弃hjkl
    vim资源
    PHP和.NET通用的加密解密函数类,均使用3DES加解密 .
    Java与.NET DES加密解密互转
    案例:使用正则表达式的爬虫
    爬虫的正则表达式re模块
    爬虫中Requests模块
    Oracle系列十一 数据处理
    爬虫urllib2 的异常错误处理URLError和HTTPError
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6738505.html
Copyright © 2011-2022 走看看