大佬教程收集整理的这篇文章主要介绍了C++ string字符串修改和替换方法详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
basic_String& assign (const E*s); //直接使用字符串赋值
basic_String& assign (const E*s,size_type n);
basic_String& assign (const basic_String & str,size_type pos,size_type n);
//将str的子串赋值给调用串
basic_String& assign (const basic_String& str); //使用字符串的“引用”賦值
basic_String& assign (size_type n,E C) ; //使用 n个重复字符賦值
basic_String& assign (const_iterator first,const_iterator last); //使用迭代器赋值
#include <iostream> #include <String> using namespace std; int main() { String str1 ("123456"); String str; str.assign (str1); //直接赋值 cout << str << endl; str.assign (str1,3,3); //赋值给子串 cout << str << endl; str.assign (str1,2,str1.npos);//赋值给从位置 2 至末尾的子串 cout << str << endl; str.assign (5,'X'); //重复 5 个'X'字符 cout << str << endl; String::iterator itB; String::iterator itE; itB = str1.begin (); itE = str1.end(); str.assign (itB,(--itE)); //从第 1 个至倒数第 2 个元素,赋值给字符串 str cout << str << endl; return 0; }
iterator erase (iterator first,iterator last);
iterator erase (iterator it);
basic_String& erase (size_type p0 = 0,size_type n = npos);
str.erase (str* begin(),str.end());
或 str.erase (3);
void swap (basic_String& str);
swap()函数的使用方法为:
String str2 ("abcdefghijklmn");
str.swap (str2);
basic_String& insert (size_type p0,const E * s); //插人 1 个字符至字符串 s 前面
basic_String& insert (size_type p0,const E * s,size_type n); // 将 s 的前 3 个字符插入p0 位置
basic_String& insert (size_type p0,const basic_String& str);
basic_String& insert (size_type p0,const basic_String& str,size_type n); //选取 str 的子串
basic_String& insert (size_type p0,size_type n,E c); //在下标 p0 位置插入 n 个字符 c
iterator insert (iterator it,E c); //在 it 位置插入字符 c
void insert (iterator it,const_iterator first,const_iterator last); //在字符串前插入字符
void insert (iterator it,E C) ; //在 it 位置重复插入 n 个字符 c
String A("ello"); String B ; B.insert(1,A); cout << B << endl; A = "ello"; B = "H"; B.insert (1,"yanchy ",3); cout<< B <<endl; A = "ello"; B = "H"; B.insert (1,A,2); cout << B << endl; A="ello"; B.insert (1,5,'C'); cout << B << endl; A = "ello"; String::iterator it = B.begin () +1; const String:: iterator itF = A.begin(); const String:: iterator itG = A.end(); B.insert(it,itF,itG); cout << B << endl;
basic_String& append (const E * s); //在原始字符串后面追加字符串s
basic_String& append (const E * s,size_type n);//在原始字符串后面追加字符串 s 的前 n 个字符
basic_String& append (const basic_String& str,size_type n);//在原始字符串后面追加字符串 s 的子串 s [ pos,…,pos +n -1]
basic_String& append (const basic_String& str);
basic_String& append (size_type n,E c); //追加 n 个重复字符
basic_String& append (const_iterator first,const_iterator last); //使用迭代器追加
A = "ello"; cout << A << endl; cout << B << endl; B.append(A); cout << B << endl; A = "ello"; cout << A << endl; cout << B << endl; B.append("12345",2); cout << B << endl; A = "ello"; cout << A << endl; cout << B << endl; B.append("12345",3); cout << B << endl; A = "ello"; B = "H"; cout << A << endl; cout << B << endl; B.append (10,'a'); cout << B << endl; A = "ello"; B = 'H'; cout << A << endl ; cout << B << endl; B.append(A.begin(),end()); cout << B << endl;下面通过一个完整的例子介绍这些函数的使用:
#include <iostream> #include <String> using namespace std; int main () { String str1 ("123456"); String str2 ("abcdefghijklmn"); String str; str.assign(str1); cout << str << endl; str.assign (str1,3); cout << str << endl; str.assign (str1,str1.npos); cout << str << endl; str.assign (5,'X'); cout << str << endl; String::iterator itB; String::iterator itE; itB = str1.begin (); itE = str1.end(); str.assign (itB,(--itE)); cout << str << endl; str = str1; cout << str << endl; str.erase(3); cout << str << endl; str.erase (str.begin (),str.end()); cout << ":" << str << ":" << endl; str.swap(str2); cout << str << endl; String A ("ello"); String B ("H"); B.insert (1,A); cout << B << endl; A = "ello"; B ='H'; B.insert (1,3); cout << "插入: " << B << endl; A = "ello"; B = "H"; B.insert(1,2); cout << "插入:" << B << endl; A = "ello"; B = "H"; B.insert (1,'C'); cout << "插入:" << B << endl; A = "ello"; B = "H"; String::iterator it = B.begin () +1; const String::iterator itF = A.begin (); const String::iterator itG = A.end (); B.insert(it,itG); cout<<"插入:"<< B << endl; A = "ello"; B = "H"; cout << "A = " << A <<",B = " << B << endl ; B.append (A); cout << "追加:" << B << endl; B = "H"; cout << "A = "<< A << ",B= " << B << endl; B.append("12345",2); cout << "追加:" << B << endl; A = "ello"; B = "H"; cout << "A = " << A << ",B= " << B << endl; B.append ("12345",3); cout << "追加:" << B << endl; A = "ello"; B = "H"; cout << "A = " << A <<",B = " << B << endl; B.append (10,'a'); cout << "追加:"<< B << endl; A = "ello"; B = "H"; cout << "A = " << A << ",B = " << B << endl; B.append(A.begin(),A.end()); cout << "追加:" << B << endl; cin.get(); return 0; }程序运行结果:
123456
456
3456
XXXXX
12345
123456
123
::
abcdefghijklmn
Hello
插入: Hyan
插入:Hlo
插入:HCCCCC
插入:Hello
A = ello,B = H
追加:Hello
A = ello,B= H
追加:H12
A = ello,B= H
追加:H345
A = ello,B = H
追加:Haaaaaaaaaa
A = ello,B = H
追加:Hello
basic_String& replace (size_type p0,size_type n0,const E * s); //使用字符串 s 中的 n 个字符,从源串的位置 P0 处开始替换
basic_String& replace (size_type p0,const E *s,size_type n); //使用字符串 s 中的 n 个字符,从源串的位置 P0 处开始替换 1 个字符
basic_String& replace (size_type p0,const basic_String& str); //使用字符串 s 中的 n 个字符,从源串的位置 P0 处开始替换
basic_String& replace (size_type p0,size_type n); //使用串 str 的子串 str [pos,pos + n-1] 替换源串中的内容,从位置 p0 处开始替换,替换字符 n0 个
basic_String& replace (size_type p0,E c); //使用 n 个字符 'c' 替换源串中位置 p0 处开始的 n0 个字符
basic_String& replace (iterator first0,iterator last0,const E * s);//使用迭代器替换,和 1) 用法类似
basic_String& replace (iterator first0,size_type n);//和 2) 类似
basic_String& replace (iterator first0,const basic_String& str); //和 3) 类似
basic_String& replace (iterator first0,E c); //和 5) 类似
basic_String& replace (iterator first0,const_iterator last); //使用迭代器替换
#include <iostream> #include <String> using namespace std; int main () { String var ("abcdefghijklmn"); const String dest ("1234"); String dest2 ("567891234"); var.replace (3,dest); cout << "1: " << var << endl; var = "abcdefghijklmn"; var.replace (3,1,dest.c_str(),3); cout << "2: " << var << endl; var ="abcdefghijklmn"; var.replace (3,'x'); cout << "3: " << var << endl; String::iterator itA,itB; String::iterator itC,itD; itA = var.begin(); itB = var.end(); var = "abcdefghijklmn"; var.replace (itA,itB,dest); cout << "4: " << var << endl; itA = var.begin (); itB = var.end(); itC = dest2.begin () +1; itD = dest2.end (); var = "abodefghijklmn"; var.replace (itA,itC,itD); cout << "5: " << var << endl; var = "abcdefghijklmn"; var.replace (3,4); //这种方式会限定字符串替换的最大长度 cout <<"6: " << var << endl; return 0; }程序执行结果为:
1: abc1234ghijklmn
2: abc234efghijklmn
3: abcxxxxxefghijklmn
4: 1234
5: 67891234efghijklmn
6: abc1234efghijklmn
以上是大佬教程为你收集整理的C++ string字符串修改和替换方法详解全部内容,希望文章能够帮你解决C++ string字符串修改和替换方法详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。