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;
}
結果如下:
相關文章
- replace函式函式
- C++回撥函式 用法C++函式
- C++ 函式 realloc 的用法C++函式
- C++中函式呼叫的用法C++函式
- replace()用法
- 深入瞭解下replace函式函式
- C++ sort排序函式的用法總結C++排序函式
- C++中push_back()函式的用法C++函式
- PHP中preg_replace函式解析PHP函式
- SQL中的替換函式replace()使用SQL函式
- MYSQL中replace into的用法MySql
- mySQL中replace的用法MySql
- abs函式用法函式
- Oracle 正規表示式函式-REGEXP_REPLACE 使用例子Oracle函式
- 淺析MySQL replace into 的用法MySql
- Python range() 函式用法Python函式
- SSD-函式用法函式
- GetModuleFileName函式的用法函式
- Instr函式的用法函式
- SQL LEN()函式用法SQL函式
- Python排序函式用法Python排序函式
- C++函式C++函式
- C++中行內函數的用法C++函數
- Mysql替換欄位中指定字元(replace 函式)MySql字元函式
- 【Hive】字串替換函式translate和regexp_replaceHive字串函式
- 正規表示式replace()函式第二個引數$&的作用函式
- PHP 自定義函式用法及常用函式集合PHP函式
- 【Oracle的NVL函式用法】Oracle函式
- string 函式的基本用法函式
- fcntl函式用法詳解函式
- c++ Beep函式C++函式
- c++函式模板C++函式
- C++ 建構函式和解構函式C++函式
- StretchBlt函式和BitBlt函式的區別和用法函式
- C語言中函式printf()和函式scanf()的用法C語言函式
- 一文搞懂String的replace用法
- C++中函式指標與函式物件C++函式指標物件
- sys_context函式的用法Context函式