1,string基本概念
string是C++风格的字符串,而string本质上是一个类
string类内部封装了很多成员方法
例如:查找find,拷贝copy,删除delete,替换replace,插入insert
string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。
2,string构造函数
string s1;//默认构造,创建一个空的字符串
string(const char* s); //使用字符串s初始化
string(const string& str);//使用一个string对象初始化另一个string对象
string(int n,char c);//使用n个字符c初始化
3,string赋值操作
给string字符串进行赋值
string str; //第一种方式,直接赋值、定义字符串strstr="hello world"; //str="a"; //也可以用单个字符给字符串赋值string str1; //第二种str1=str; //用str的方法给str1赋值
string str2; //第三种
str2.assign("hello world");
string str3; //第三种
str3.assign("hello C++",5);//将hello C++的前五个字符赋值给str3
string str4; //第四种
str4.assign(10,"w") //十个w
4,string字符串拼接
功能描述:实现在字符串末尾拼接字符串
例:+=
string str1="I"
str1+=“like playing Game”
cout<<str1;// I like playing game
append函数
string str2="I";
str2.append("love");//I love
str2.append("game abcde",4);//将game abcde前四个字符加入进来 game
cout<<str2;//I love game
5,string查找与替换
功能描述:
查找:查找指定字符串是否存在:
string str="abcdefg";
int position=str.find("de");//说明de在哪个起始位置
cout<<position<<endl;
结果:position=-1;未找到字符串
position 不等于-1:找到了字符串
find从左往右查找字符串,rfind从右往左查找字符串
替换:在指定的位置替换字符串
关键字:replace
string str="abcdefg";
str.replace(1,3,"1111");
cout<<"str="<<str<<endl;//a1111efg
6,string字符串比较
功能描述:字符串之间的比较
比较方式:字符串比较是按字符的ASCII码进行对比
=返回 0
>返回 1
<返回 -1
关键词:compare
string str1=“abe”;
string str2=“abe”;
str1.compare(str2);//0
7,string字符存取
string中单个字符存取方式有两种
通过[]方式取字符
通过at方法获取字符
[],at中间的数字相当于数组下标
string str=“abec”
for(int i=0,i<str.size,i++){
cout<<str[i]<<endl; //a b e c
cout<<str.at[i]<<endl; //a b e c
8,string插入和删除
功能描述:
对string字符串进行插入和删除字符操作
例:string str;
插入操作:str.insert (起始位置,“插入元素”)
str.insert(1,"111")//在一号字符后插入111
删除操作:str.erase (起始位置,几个字符)
str.erase(1,3)//从一号字符开始删除三个字符
总结:插入和删除的起始下标都是从0开始的
9,strig子串
从字符串中获取想要的子串,语法:str.substr(截取的起始位置,截取的终止位置)
string str="abcde";
string subStr=str.substr(1,3);
cout<<subStr<<endl; //bcd