一、查找
方法1: find函数,str1.find(str=“要查找的字符或者字符串”,pos=0)
pos是查找的其实位置,默认是从位置0开始。
方法2:返回字符串str的前n个字符(从位置pos开始)的第一次出现 位置。
string str1=“abdabcdefg”;
int pos = str1.find(“ab”,pos=0,2);
cout<<pos<<endl;
上面的输出为0;ab字符串在0出首先出现。
方法3:查找字符串最后一次出现的位置
string str1=“abdabcdefg”;
int pos = str1.rfind(“ab”);
cout<<pos<<endl;
上面的输出为3,表示ab最后一次出现的位置是3。这里可以添加pos参数值,表示从哪个位置开始查找。
rfind是从右向左查找的,在右边第一个就是字符串的最后一个。
string str1=“abdabcdefg”;
int pos = str1.rfind(“ab”,pos=3);
cout<<pos<<endl;
此时pos=3输出为3,当pos小于3时,输出就为0。因为从小于3的位置查找,大于3的部分就不进查找了,只查找210下表的元素了。注意当位置为3时,元素为a,我们要查找的是ab,但是这时候也返回3。
二、替换
对str1字符串的pos位置的n个字符串替换为str2。
str1.replace(1,2,“zzzz”)
三、字符串之间的比较
字符串之间比较的是ASCII码,如果相等返回为0,大于返回为1,小于返回为-1。
使用的函数为str1.compare(str2)。
四、字符串的插入和删除。
插入:插入使用的函数为insert。str.insert(pos,“111”);表示对str从位置pos开始插入111。
在指定的位置插入n个字符c。str1.insert(pos,n,c)。在pos开始插入ccc…c,n个。
删除:删除使用erase函数,str1.erase(2,5)。删除从下标2开始的5个字符。
五、获取子串
获取子串使用substr函数,str.substr(pos,n)。
表示获取str从pos开始的n个字符串。