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的字符串 (对添加的字符串切片后添加到原字符串)

    6、替换操作

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

猜你喜欢

转载自www.cnblogs.com/Eeyor/p/11233752.html