C++ replace() 函式用法
replace演算法:
replace函式包含於標頭檔案#include<string>中。
泛型演算法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;
}
即將 a@ 替換為 # 。
結果如下:
用法二: 用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;
}
0:起始位置;5:長度; 4: substr的指定長度。
結果如下:
用法四: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;
}
結果如下:
相關文章
- mysql中replace函式的用法MySql函式
- javascript的replace()函式用法詳解JavaScript函式
- replace函式函式
- C++回撥函式 用法C++函式
- C++ 函式 realloc 的用法C++函式
- C++中函式呼叫的用法C++函式
- str_replace()函式函式
- 深入瞭解下replace函式函式
- sql CHARINDEX,REPLACE函式使用SQLIndex函式
- oracle REPLACE 函式 介紹Oracle函式
- replace函式一用函式
- Oracle 中 replace函式和translate函式比較Oracle函式
- C++ sort排序函式的用法總結C++排序函式
- C++中push_back()函式的用法C++函式
- replace()第一個引數是正規表示式第二個是函式用法函式
- Teradata自定義函式Replace函式
- PHP字串替換substr_replace與str_replace函式PHP字串函式
- JScript中正規表示式用法詳解 replaceJS
- PHP中preg_replace函式解析PHP函式
- C++ 中隨機函式 rand() 和 srand() 的用法C++隨機函式
- SQL中的替換函式replace()使用SQL函式
- Translate函式用法函式
- abs函式用法函式
- MYSQL中replace into的用法MySql
- mySQL中replace的用法MySql
- 正規表示式使用replace()函式簡單介紹函式
- ascii函式和substr函式的用法ASCII函式
- js使用replace()函式替換所有指定字元JS函式字元
- GetModuleFileName函式的用法函式
- SQL LEN()函式用法SQL函式
- SSD-函式用法函式
- createStyleSheet()函式的用法函式
- OVER(PARTITION BY)函式用法函式
- qsort函式的用法函式
- oracle table()函式用法Oracle函式
- COALESCE函式的用法。函式
- C++函式C++函式
- 【C++】函式C++函式