(string&C++)(四、替换)replace的使用

string中replace的使用(c++)

1.被替换位置:index往后count个字符--------------->str.replace(index,count,s);

函数原型:string &replace(size_t pos,size_t len,const &str)

注意:当count=0时,可以作为插入使用,此处不举例,下面有一个类似的,见案例3
例:(n≠0)
	string str = "0123453789";
	cout << "被替换之前的字符串---------->" << str << endl;
	str.replace(6,2,"67");
	cout << "被替换之后的字符串---------->" << str << endl;

结果:
在这里插入图片描述

2.被替换位置:pos往后len长度,替换位置subpos往后sublen长度--------------->str.replace(pos,len,s,subpos,sublen)

函数原型:string &replace(size_t pos,size_tlen,const string &str,size_t subpos,size_t sublen)

例:
	string str = "0123453789";
	cout << "被替换之前的字符串---------->" << str << endl;
	str.replace(6,2,"1236789",3,2);
	cout << "被替换之后的字符串---------->" << str << endl;

结果:
在这里插入图片描述

3.在指定位置插入n个字符’--------------->str.replace(pos,len,n,c)

函数原型:string &replace(size_t pos, size_t len, size_t n, char c)

注意:当n=0时,可以作为插入使用
例:(n=0)
	string str = "0123453789";
	cout << "被替换之前的字符串---------->" << str << endl;
	str.replace(2,0,5,'A');
	cout << "被替换之后的字符串---------->" << str << endl;

结果:
在这里插入图片描述

4.迭代器--------------->和上面的类似,有四种,下面以第一种为例

函数原型:1)string &replace(const_iterator it1,const_iterator it2,const string&str)
     2)string &replace(const_iterator it1,const_iterator it2,const char* cch)
     3)string &replace(const_iterator it1,const_iterator it2,const char* cch,size_tn)
     4)string &replace(const_iterator it1,const_iterator it2,size_t n,char c)

例:
	string str = "0123456";
    cout << "替换前的字符串----------->" << str << endl;
	string str1 = "789";string::iterator it= str.begin();
	str.replace(it, it+2, str1);
	cout << "替换后的字符串----------->" << str << endl;

结果:
在这里插入图片描述

发布了42 篇原创文章 · 获赞 40 · 访问量 978

猜你喜欢

转载自blog.csdn.net/weixin_44635198/article/details/104464014
今日推荐