目录:
之前对于String类的接口介绍的还不够全,下面我对于String类的接口进行进一步的补充
1.修改操作
erase
----是对于字符串的一个删除操作
string& erase (size_t pos = 0, size_t len = npos);
size_t pos: 开始删除的位置
size_t len: 要删除的长度
string str = "123456";
str.erase(3, 2); //从第三个开始删除后面的两位 "1236"
str.erase(0, 1); //同上 "236"
iterator erase (iterator p);
iterator p: 按顺序保留P个字符,删除剩下字符
string str = "123456";
str.erase(5); //保留前5个数据,删除其他的数据 "12345"
iterator erase (iterator first, iterator last);
iterator first: 要删除的首位置
iterator last:要要删除的末位置
----两者组成要删除的位置
string str = "123456";
//"13456"
str.erase(str.begin()+1); //删除对应位置的单个数据//这里是删除从迭代器的最开始删除往后面的一位
//" "
str.erase(str.begin(),str.end()); //删除迭代器之间范围内的数据
replace
string& replace (size_t pos, size_t len, const string& str);
size_t pos: 替换字符其实的位置
size_t len: 替换字符的长度
const string& str:要替换成字符的具体内容
string str1 = "123456789";
str1.replace(2, 5, "abc"); //从第二个字符开始将后面的五个全部替换成后面自己输入的字符
string& replace (iterator i1, iterator i2, const string& str);
iterator i1: 利用迭代器求出起始的位置
iterator i2: 迭代器求出末尾的位置
const string& str: 要替换的具体字符
----利用迭代器记录的两个位置将要替换的内容转变
str1.replace(str1.begin()+2, str1.end()-2, "dddddddd");//将begin迭代器向后两位和end迭代器向前的2位之间的范围替换成后面的数据
str1.replace(++str1.begin(), --str1.end(), "dddddddd");//前置后移一位,后置往前一位,将之间的范围替换成对应的字符串
swap
void swap (string& str);
string& str: 要被交换的字符串
----因为他有两种不同的方式,在成员函数中就要带上具体的头文件
----在整个成员函数中则不需要,直接交换
//成员函数
str1.swap(str); //字符串进行交换
//全局
swap(str, str1); //类似于自己进行模板初始化的一个函数
2.字符串具体操作
c_str
const char* c_str() const;
----将字符串按照C语言的方式进行输出
//按照C的方式来进行输出
cout << str.c_str() <<"end"<< endl; //当遇到\0就会直接结束,不会输出\0
cout << str.data() << "end" << endl;//进行普通的输出
find
size_t find (const string& str, size_t pos = 0) const;
const string& str: 检索对应的字符串
size_t pos = 0: 开始寻找的位置
string str = "23456123123";
size_t pos = str.find("666663"); //找不到返回最大的容量//4G
size_t pos=str.find("123"); //如果找到了就直接返回对应的前一个位置 5
size_t find (const char* s, size_t pos, size_t n) const;
const char s: 需要查看的字符串
size_t pos: 寻找的起始位置
size_t n: 需要寻找的字符串个数*
pos = str.find("456abd", 0, 2); //查找从0开始2个字符的对应 //45
rfind
----反向查找
size_t rfind (const string& str) const;
const string& str: 需要反向查找的字符串
//反向查找
pos = str.rfind(str2);
substr
string substr (size_t pos = 0, size_t len = npos) const;
简单了解下面的
find_first_not_of; //不属于以后的一个
find_first_of; //找到任意的第一个
find_last_not_of; //不属于的最后一个
find_last_of; //最后一个
几天的这这些就是对于String的补充,大家多运用运用就可以了.