C++ STL String学习 (待续)

2019-08-16 07:52:00来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

C++ STL String学习 (待续)

头文件:<string>

 

字符串类初始化:

string s1="aabbba";
s2=string("bbb");  
string s3=string(s1);  //互不影响

 

字符串类基本操作:

    0、获得字符串长度

int len = s.length()

 

    1、索引

char c = s[i]; //切片操作,每个s[i]都是字符

   

    2、返回子串 (切片)

//s.substr()函数 返回一个子串
s1 = s.substr(1) //从下标为1字符开始一直到最后
s1 = s.substr(x,y) //从下标是x的字符开始,长度为y的字符串

 

    3、插入字符串

//利用s.insert()函数插入字符串

s1=s.insert(2,"abcd") //在下标为2的字符前插入字符串

 

    4、删除部分

string s;
s.erase(x,y);/*删除从下标为x的字符开始,长度为y的字符串。并返回删除后的子串。*/

s="abcdefg";
s.erase(2,3); //删除从下标为2的字符开始,长度为3的字符串

//s=="abfg"

    

    5、末尾插入字符串

string s="abcde";
string s1="thankyou";
string s2="";
//用法1:
s2= s.append("thankyou"); 
s2= s.append(s2);
s2= s + s1; //以上三条式子s2的值相等

//用法2:
s.append("howareyou",2) //"howareyou"前2个字符加到s末尾

//用法3:
s.append("howareyou",2,3) /*从"howareyou"下标为2的字符开始,在s加入长度为3的字符串 (对添加的字符串切片后添加到原字符串)*/

//若插入单个字符:
char c;
s=s+c;

 

    6、替换操作

s.replace(1,3,"abc")
 /*下标为1到下标为3的字符组成的子串被替换为abc,若想替换单个字符,需要将被替换字符的下标写两次 如:s.replace(1,1,"abc")*/

 

  7、反转字符串

string str;  
cin >> str;  
reverse(str.begin(), str.end());   //reverse函数 将str自身反转
cout << str << endl;

 


原文链接:https://www.cnblogs.com/Eeyor/p/11233752.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【并查集】模板 + 【HDU 1213、HDU 1232、POJ 2236、POJ 1703】

下一篇:C++复习笔记