浅谈C++中replace()方法_C 语言

本文主要针对c++中常用replace函数用法给出九个样例程序:

用法一: 

/*
 *用str替换指定字符串从起始位置pos开始长度为len的字符
 *string& replace (size_t pos, size_t len, const string& str);
 */
int main()
{
 string line = "this@ is@ a test string!";
 line = line.replace(line.find("@"), 1, ""); //从第一个@位置替换第一个@为空
 cout << line << endl;
 return 0;
}

运行结果:

用法二: 

/*
 *用str替换 迭代器起始位置 和 结束位置 的字符
 *string& replace (const_iterator i1, const_iterator i2, const string& str);
 */
int main()
{
 string line = "this@ is@ a test string!";
 line = line.replace(line.begin(), line.begin()+6, ""); //用str替换从begin位置开始的6个字符
 cout << line << endl;
 return 0;
}

运行结果:

用法三: 

/*
 *用substr的指定子串(给定起始位置和长度)替换从指定位置上的字符串
 *string& replace (size_t pos, size_t len, const string& str, size_t subpos, size_t sublen);
 */
int main()
{
 string line = "this@ is@ a test string!";
 string substr = "12345";
 line = line.replace(0, 5, substr, substr.find("1"), 3); //用substr的指定子串(从1位置数共3个字符)替换从0到5位置上的line
 cout << line << endl;
 return 0;
}

运行结果:

用法四:string转char*时编译器可能会报出警告,不建议这样做 

/*
 *用str替换从指定位置0开始长度为5的字符串
 *string& replace(size_t pos, size_t len, const char* s);
 */
int main()
{
 string line = "this@ is@ a test string!";
 char* str = "12345";
 line = line.replace(0, 5, str); //用str替换从指定位置0开始长度为5的字符串
 cout << line << endl;
 return 0;
} 

运行结果:

用法五:string转char*时编译器可能会报出警告,不建议这样做 

/*
 *用str替换从指定迭代器位置的字符串
 *string& replace (const_iterator i1, const_iterator i2, const char* s);
 */
int main()
{
 string line = "this@ is@ a test string!";
 char* str = "12345";
 line = line.replace(line.begin(), line.begin()+9, str); //用str替换从指定迭代器位置的字符串
 cout << line << endl;
 return 0;
}

运行结果:

用法六:string转char*时编译器可能会报出警告,不建议这样做 

/*
 *用s的前n个字符替换从开始位置pos长度为len的字符串
 *string& replace(size_t pos, size_t len, const char* s, size_t n);
 */
int main()
{
 string line = "this@ is@ a test string!";
 char* str = "12345";
 line = line.replace(0, 9, str, 4); //用str的前4个字符替换从0位置开始长度为9的字符串
 cout << line << endl;
 return 0;
}

运行结果:

用法七:string转char*时编译器可能会报出警告,不建议这样做 

/*
 *用s的前n个字符替换指定迭代器位置(从i1到i2)的字符串
 *string& replace (const_iterator i1, const_iterator i2, const char* s, size_t n);
 */
int main()
{
 string line = "this@ is@ a test string!";
 char* str = "12345";
 line = line.replace(line.begin(), line.begin()+9, str, 4); //用str的前4个字符替换指定迭代器位置的字符串
 cout << line << endl;
 return 0;
}

运行结果:

用法八: 

/* 

*用重复n次的c字符替换从指定位置pos长度为len的内容
 *string& replace (size_t pos, size_t len, size_t n, char c);
 */
int main()
{
 string line = "this@ is@ a test string!";
 char c = '1';
 line = line.replace(0, 9, 3, c); //用重复3次的c字符替换从指定位置0长度为9的内容
 cout << line << endl;
 return 0;
} 

运行结果:

用法九: 

/*
 *用重复n次的c字符替换从指定迭代器位置(从i1开始到结束)的内容
 *string& replace (const_iterator i1, const_iterator i2, size_t n, char c);
 */
int main()
{
 string line = "this@ is@ a test string!";
 char c = '1';
 line = line.replace(line.begin(), line.begin()+9, 3, c); //用重复3次的c字符替换从指定迭代器位置的内容
 cout << line << endl;
 return 0;
} 

运行结果:

注:所有使用迭代器类型的参数不限于string类型,可以为vector、list等其他类型迭代器。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
replace()
c语言replace函数、c语言replace、c语言replace函数用法、r语言replace函数、r语言 replace,以便于您获取更多的相关知识。

时间: 2024-07-29 18:18:40

浅谈C++中replace()方法_C 语言的相关文章

浅谈javascript中replace()方法_javascript技巧

定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串.语法stringObject.replace(regexp/substr,replacement) 返回值 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的.说明 字符串 stringObject 的 replace() 方法执行的是查找并替换的操作.它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 r

浅谈jQuery中replace()方法

  这篇文章主要介绍了jQuery中replace()方法用法,实例分析了replace()方法的功能.定义及匹配元素去替换指定内容的方法,需要的朋友可以参考下 今天在读jquery源码时,发现一个以前自己不曾注意过得问题,就是replece()的第二个参数为函数时的问题,以前只是知道replace()的第二个参数可以为函数,但是不知道该怎么操作,今天看到源码里用到了函数作为replace()的第二个参数时,感觉自己读起来比较吃力,于是准备整理下这个函数... 语法 stringObject.r

浅谈jQuery中replace()方法_jquery

今天在读jquery源码时,发现一个以前自己不曾注意过得问题,就是replece()的第二个参数为函数时的问题,以前只是知道replace()的第二个参数可以为函数,但是不知道该怎么操作,今天看到源码里用到了函数作为replace()的第二个参数时,感觉自己读起来比较吃力,于是准备整理下这个函数... 语法 stringObject.replace( regexp/substr, replacement) 返回值 返回一个新的字符串,是用replacement替换了regexp的第一次匹配或所欲

浅谈Python中copy()方法的使用

  这篇文章主要介绍了浅谈Python中copy()方法的使用,Python中的拷贝分为潜拷贝和深拷贝,本文只是简单介绍用法,需要的朋友可以参考下 copy()方法返回字典的浅拷贝. 语法 以下是copy()方法的语法: ? 1 dict.copy() 参数 NA 返回值 此方法返回字典的浅拷贝. 例子 下面的例子显示了copy()方法的使用. ? 1 2 3 4 5 6 #!/usr/bin/python   dict1 = {'Name': 'Zara', 'Age': 7};   dict

浅谈jQuery中setInterval()方法_javascript技巧

定义和用法: setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭.由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数. var time=0: 用法1: function jump(){ ---- //函数内容 } time = setInterval("jump",5000); //每个五秒调用一

浅谈C++指针(必看)_C 语言

指针在编程中有时很重要的作用 我们可以用它完成一些看似不可能完成的任务 #include<iostream> using namespace std; void square(int *n){ *n=*n**n; } int main(){ int num = 2; cout<<"The original number is "<<num<<endl; square(&num); cout<<"The new

浅谈java中replace()和replaceAll()的区别_java

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串): 2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号; 相同点:都是全部替换,即把源字符串中的某一字符

C++从文本文件读取数据到vector中的方法_C 语言

前言 大家应该都只奥vector(向量)是 C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.这篇文章介绍的是C++从文本文件读取数据到vector中的方法,下面话不多说,直接来看示例代码吧. 如题,要将如下文本文件读进vector中 示例代码如下 #include <iostream> using namespace std; #include <cmath> #include

C#学习笔记整理_浅谈Math类的方法_C#教程

c#中Math类的方法 Math.Abs 已重载. 返回指定数字的绝对值. Math.Acos 返回余弦值为指定数字的角度. Math.Asin 返回正弦值为指定数字的角度. Math.Atan 返回正切值为指定数字的角度. Math.Atan2 返回正切值为两个指定数字的商的角度. Math.BigMul 生成两个 32 位数字的完整乘积. Math.Ceiling 已重载. 返回大于或等于指定数字的最小整数. Math.Cos 返回指定角度的余弦值. Math.Cosh 返回指定角度的双曲余