string a="1234abcd5678efgh";
string b="ABCD";
1.在string字符串的某一个位置开始长度为m的字符被替换另一个(string)字符串
replace(size_t n,size_t m,const char* str);
a.replace(4,3,"替换");
replace(size_t n,size_t m,const string& str);
a.replace(4,3,b);
replace(const_iterator n,const_iterator m,const char* str);
a.replace(a.begin()+3,a.begin()+6,"替换");
replace(const_iterator n,const_iterator m,const string& str);
a.replace(a.begin()+5,a.end()-3,b);
2.在string字符串的某一个位置开始长度为m的字符被替换另一个字符串的前k位
replace(size_t n,size_t m,const char* str,size_t k);
a.replace(6, 3, "THJKL", 2);
replace(const_iterator n,const_iterator m,const char* str,size_t k);
a.replace(a.begin() + 6, a.end() - 3, "THJKL", 2);
3.在string字符串的某一个位置开始长度为m的字符被替换为另一个string字符串从i位置长度为j的字符
replace(size_t n,size_t m,const string& str,size_t i,size_t j);
a.replace(6, 3, b, 1, 3);
4.在string字符串中的某一个位置开始长度为m的字符被替换为k个相同的字符
replace(size_t n,size_t m,size_t k,char c);
a.replace(6, 3, 5, '@');
replace(const_iterator n,const_iterator m,size_t k,char c);
a.replace(a.begin()+6, a.end()-3, 5, '>');
5.在string字符串中的某一个字符区间被替换为另一个string字符串字符区间
template<typename T>
replace(const_iterator n,const_iterator m,T first,T last);
a.replace(a.begin() + 6, a.end() - 3, b.begin(), b.end() - 1);
6.replace(const_iterator n,const_iterator m,initializer_list<char> il);