记得加入
#include <string> //是string而不是string.h
构造
// 创建一个默认string对象,长度为0
string str0;
//初始化为 Hello World
srting str1("Hello World");
//str2 为 HHHHH
string str2(5,'H');
//str3为str2即 Hello World
string str3(str1);
//直接赋值
string str4="Hello World";
求长度
string.length()和string.size()
int len1=str2.length();
int len2=str2.size();
//len1=len2=5
查找
查找有很多方法
string.find()
从前往后(默认0开始),返回第一次出现的位置,若未查到返回string::npos
string::size_type pos1=str1.find('W');//返回6
string::size_type pos1_1=str1.find('H',2);//从第二个位置开始查找 查找不到返回str1.npos
string::size_type pos2=str1.find("Hello");//返回0
string::size_type pos3=str1.find(str2);//返回str1.npos
string.rfind()
从后往前(默认从末尾开始)返回第一次出现的位置,若未查到返回string::npos
string::size_type pos1=str1.find("H");//返回0
string.find_first_of()
从前往后(默认从0开始)返回参数中任意一个字符第一次出现的位置,若未查到返回string::npos
string::size_type pos1=str1.find_first_of("ore");//返回1
string.find_last_of()
从前往后(默认从0开始)返回参数中任意一个字符最后一次出现的位置,若未查到返回string::npos
string::size_type pos1=str1.find_last_of("opq");//返回7 'o'最后一次出现在7
删除
string.erase()
str1.erase(str1.begin()+0); //删除后为ello World
str1.erase(str1.begin()+0,str1.begin()+5); //删除后为World
str1.erase(size_type pos,size_type len); //从pos处开始删除长为len的字符串
插入
string.insert()
size_type pos=0;
str1.insert(pos,str2);//插入后为HHHHHHello World
str1.insert(str1.begin()+0,'Q')//插入后为QHello World
str1.insert(str1.begin()+0,5,'Q')//插入后为QQQQQHello World
获取字串
string.substr()
size_type pos=0;
string s=str1.substr(3,2);//得到s为lo