C++ replace用法
replace算法:
replace函数包含于头文件#include中。
泛型算法replace把队列中与给定值相等的所有值替换为另一个值,整个队列都被扫描,即此算法的各个版本都在
线性时间内执行———其复杂度为O(n)。
即replace的执行要遍历由区间[frist,last)限定的整个队列,以把old_value替换成new_value。
下面说下replace()的九种用法:(编译软件dev5.4.0)
**
用法一:用str替换指定字符串从起始位置pos开始长度为len的字符
**
string& replace (size_t pos, size_t len, const string& str);
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";str=str.replace(str.find("a"),2,"#"); //从第一个a位置开始的两个字符替换成#cout<<str<<endl; return 0;
}
结果如下:
在这里插入图片描述
用法二: 用str替换 迭代器起始位置 和 结束位置 的字符
string& replace (const_iterator i1, const_iterator i2, const string& str);
如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";str=str.replace(str.begin(),str.begin()+5,"#"); //用#替换从begin位置开始的5个字符cout<<str<<endl;return 0;
}
结果
用法三: 用substr的指定子串(给定起始位置和长度)替换从指定位置上的字符串
**string& replace (size_t pos, size_t len, const string& str, size_t subpos, size_t sublen);**
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";string substr = "12345";str=str.replace(0,5,substr,substr.find("1"),4); //用substr的指定字符串替换str指定字符串cout << str << endl;return 0;
}
结果如下:
用法四:string转char*时编译器可能会报出警告,不建议这样做 用str替换从指定位置0开始长度为5的字符串
string& replace(size_t pos, size_t len, const char s);*
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";char * str1 = "12345";str=str.replace(0,5,str1); //用str替换从指定位置开始长度为5的字符串cout<<str<<endl;return 0;
}
结果如下:
用法五:string转char*时编译器可能会报出警告,不建议这样做
******用str替换从指定迭代器位置的字符串 string& replace (const_iterator i1, const_iterator i2, const char* s);******
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";char * str1 = "12345";str=str.replace(str.begin(),str.begin()+6,str1); //用str替换从指定迭代器位置的字符串cout<<str<<endl;return 0;
}
结果如下:
用法六:string转char时编译器可能会报出警告,不建议这样做 用s的前n个字符替换从开始位置pos长度为len的字符串 string& replace(size_t pos, size_t len, const char s, size_t n);
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";char * str1 = "12345";str=str.replace(0,6,str1,4); //用str1的前4个字符串替换从位置0~6的字符串cout<<str<<endl;return 0;
}
结果如下:
用法七:string转char时编译器可能会报出警告,不建议这样做 用s的前n个字符替换指定迭代器位置(从i1到i2)的字符串 string& replace (const_iterator i1, const_iterator i2, const char s, size_t n);
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";char * str1 = "12345";str = str.replace(str.begin(),str.begin()+6,str1,4); //用str1的前4个字符串替换从位置0~6的字符串cout<<str<<endl;return 0;
}
结果如下:
用法八: 用重复n次的c字符替换从指定位置pos长度为len的内容 string& replace (size_t pos, size_t len, size_t n, char c);
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";char str1 = '#';str = str.replace(0,6,3,str1); //用重复3次的str1字符替换的替换从位置0~6的字符串cout<<str<<endl;return 0;
}
结果如下:
用法九: 用重复n次的c字符替换从指定迭代器位置(从i1开始到结束)的内容 string& replace (const_iterator i1, const_iterator i2, size_t n, char c);
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{string str = "he is@ a@ good boy";char str1 = '#';str = str.replace(str.begin(),str.begin()+6,3,str1); //用重复3次的str1字符替换的替换从指定迭代器位置的内容 cout<<str<<endl;return 0;
}
结果如下:
C++ replace用法相关推荐
- boost::hana::replace用法的测试程序
boost::hana::replace用法的测试程序 实现功能 C++实现代码 实现功能 boost::hana::replace用法的测试程序 C++实现代码 #include <boost ...
- boost::fusion::replace用法的测试程序
boost::fusion::replace用法的测试程序 实现功能 C++实现代码 实现功能 boost::fusion::replace用法的测试程序 C++实现代码 #include <b ...
- java中的replace用法_java中replace用法举例:replace(char oldChar, char newChar)返回一个新的字符串...
1.JAVA中,char占2字节,16位.可在寄存汉字 2.java中replace用法举例:replace(char oldChar, char newChar)返回一个新的字符串,它是经过用 ne ...
- replace 用法
orcl中replace()用法: replace:(字符串 | 列):进行替换: 将bqh1表中name列带"小"的字改成"大": select * from ...
- c++中string 的replace用法
转载于这位博主:链接1 链接2 c++ string string 的replace用法 string替换指定字符串内的所有字段 string 的replace用法 /*用法一: *用str替换指定字 ...
- Js中String对象方法replace()用法详解
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement) ...
- mysql的replace用法
replace into 跟 insert 区别: 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据. 2. 否则,直接插入新数据. 要注意的是:插入数据 ...
- mysql replace用法
mysql的replace函数是一个非常方便的替换函数,以下是官方文档的说法: 我们来看看示例比较 在mysql当中 replace除了替换之后,还有replace into的用法,类似于insert ...
- Android开发之fragment之replace用法
我们先来写个接口: package com.xiayiye.yhsh.fragmentreplace;import android.os.Bundle;/*** @author :下一页5(轻飞扬)* ...
最新文章
- 折线图表动画(历史进程效果)
- 18.2 keepalived介绍
- Windows上也能用Swift编程了,官方编译工具安装包现已上线
- 设计模式学习笔记三——Abstract Factory模式
- [POJ2420]A Star not a Tree?(模拟退火)
- Coil - Google推荐的协程图片加载库
- android 官方说明文档,Android官方文档翻译-Accessibility
- Java Garbage Collection基础详解------Java 垃圾回收机制技术详解
- 监理延期 验收工程款制约三方
- jquery图片延迟加载 及 serializeArray、serialize用法记录
- php加skplayer,WordPress整合ckplayer(最新)
- kubernetes入门之Downward API
- pcie gen3 bios设置_唯一还在认真做BIOS的大陆板卡厂商!七彩虹iGame Z490 Vulcan X V20评测...
- AHRS简要说明及使用例程(外加踩坑)
- 大白菜 装系统 win7
- JavaScript函子(随笔)
- 关于STM32 程序烧录不进去
- 存储技术和灾备解决方案要点
- [集合下载]邵式经典不完全收录 141部[59G]
- 用EXCEL宏编写坐标转换
热门文章
- mybatis-generator-gui使用详解
- 【iMessage苹果相册推】 内部网关协议(InternetwayProtocol)常用的是RIP和OSPE
- System.Net.Sockets.TcpClient
- 核心期刊发表要求详细讲解
- 设计模式 | 观察者模式/发布-订阅模式(observer/publish-subscribe)
- 【蓝牙学习笔记二】初识BLE蓝牙协议栈
- 桑坦德银行使用以太坊区块链赎回2000万美元债券
- c语言产生高斯白噪声函数,含有高斯白噪声的正弦组合信号的产生
- 学生护眼灯色温多少合适?暖白光4000K护眼台灯分享
- “全脑思维下的产品创建”技术讲座火爆结束!