关闭

c++ replace() 函数

179人阅读 评论(0) 收藏 举报
分类:

c++ replace() 函数

针对c++中常用replace函数用法给出样例程序

/*用法一:
 *用str替换指定字符串从起始位置pos开始长度为len的字符
 *string& replace (size_t pos, size_t len, const string& str);
 */

运行结果:

this is@ a test string!

/*用法二:
 *用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;
}

is@ a test string!

/*用法三:
 *用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;
}


int main()
{
	string line = "this@ is@ a test string!";
	line = line.replace(line.find("@"), 1, "");	//从第一个@位置替换第一个@为空
	cout << line << endl;	
	return 0;
}

123 is@ a test string!

/*用法四: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;
}

12345 is@ a test string!

/*用法五: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;
}

12345 a test string!

/*用法六: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;
}

1234 a test string!

/*用法七: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;
}

1234 a test string!

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

111 a test string!

/*用法九:
 *用重复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;
}

111 a test string!







0
0
查看评论

C++ STL replace()函数常用用法详解

replace算法:                 replace函数包含于头文件#include中。    &#...
  • zwj1452267376
  • zwj1452267376
  • 2015-07-09 20:49
  • 10053

c++ string 的函数replace()用法

basic_string::max_size 返回string 能放的最大元素个数。(不同于capacity) size _ type max _ size( ) const; basic_string ::size_type cap, max; cap = s.capacity ( ); max ...
  • hejianhua
  • hejianhua
  • 2010-04-30 13:15
  • 7732

C++标准库---替换元素replace()&replace_if()

替换元素 替换序列内的元素 replace(beg,end,const T& oldValue,const T& newValue) replace_if(beg,end,op,const T& newValue) (1)replace()将区间[beg,...
  • lanzhihui_10086
  • lanzhihui_10086
  • 2015-01-03 13:00
  • 1266

C++ replace() 函数用法详解

文主要针对c++中常用replace函数用法给出样例程序 [cpp] view plaincopy /*用法一:  *用str替换指定字符串从起始位置pos开始长度为len的字符  *string& replace&#...
  • u013718592
  • u013718592
  • 2014-04-18 16:15
  • 378

C++基础---string类的replace

1. string中replace 1.1 string:string& replace (size_t pos, size_t len, const string& str); 原型:string& replace (size_t pos, size_t len, co...
  • cainv89
  • cainv89
  • 2015-09-03 19:55
  • 1128

std::string 的 replace函数的自定义实现

std::string 的 replace函数的自定义实现         以下文字转载自:http://www.cppblog.com/sleepwom/archive/2010/01/11/105420.html,对原作者表示敬意和感谢。 ...
  • tangaowen
  • tangaowen
  • 2012-03-07 11:21
  • 3336

c++中string 的replace用法

/*用法一: *用str替换指定字符串从起始位置pos开始长度为len的字符 *string& replace (size_t pos, size_t len, const string& str); */ int main() ...
  • yinhe888675
  • yinhe888675
  • 2016-03-18 10:07
  • 10084

VC++ replace和replaceAll两个方法的区别

replace和replaceAll是JAVA和C++中常用的替换字符的方法
  • Antares_SANTALEN
  • Antares_SANTALEN
  • 2016-09-12 11:26
  • 1298

C/C++ 字符串replace替换函数

基于char*  char*replace(char*src, char*sub, char*dst){ int pos =0; int offset =0; int srcLen, subLen, dstLen; char*pRet = NULL; src...
  • ybhjx
  • ybhjx
  • 2016-03-31 09:09
  • 5528

c++中replace函数用法

replace算法:                 replace函数包含于头文件#include中。   ...
  • wangqing_12345
  • wangqing_12345
  • 2017-05-09 14:33
  • 335
    个人资料
    • 访问:16075次
    • 积分:999
    • 等级:
    • 排名:千里之外
    • 原创:85篇
    • 转载:12篇
    • 译文:0篇
    • 评论:3条
    最新评论