国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

淺談C++中replace()方法

2020-01-26 14:49:57
字體:
來源:轉載
供稿:網友

本文主要針對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等其他類型迭代器。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玛纳斯县| 中牟县| 博罗县| 赤壁市| 从江县| 扶余县| 攀枝花市| 武冈市| 五寨县| 开封县| 石台县| 湖北省| 怀集县| 扎赉特旗| 鹰潭市| 科尔| 遂平县| 宕昌县| 涪陵区| 衡阳市| 禄劝| 炎陵县| 门头沟区| 玛曲县| 成安县| 当涂县| 广元市| 化州市| 安岳县| 会泽县| 嘉义县| 清河县| 宁都县| 寿阳县| 延吉市| 海林市| 廉江市| 眉山市| 廉江市| 石渠县| 谷城县|