|
1、string字符串的求子串操作:
string substr(int pos = 0, int n = npos) const; //返回 pos 开始的 n个字符组成的字符串
string str = "abcdefg";
string sub = str.substr(2, 2);
cout << sub << endl;
2、string字符串类的查找操作:
int find(char c, int pos = 0) const; //从pos开始查找字符c在当前字符串的位置
int find(const char *s, int pos = 0) const; //从pos开始查找字符串s在当前串中的位置
int find(const char *s, int pos, int n) const; //从pos开始查找字符串s中前n个字符在当前串中的位置
int find(const string &s, int pos = 0) const; //从pos开始查找字符串s在当前串中的位置
//查找成功时返回所在位置,是个 >=0 的数,失败返回 string::npos 的值。npos 的值默认就是 -1
此外,string字符串类还提供了反向查找的函数 rfind,大家可以课后来尝试下,使用方法跟 find 几乎一致。
备注:相关代码演示详见视频教程!
3、string字符串类的替换操作:
string &replace(int p0, int n0, const char *s); //删除从p0开始的n0个字符,然后在p0处插入串s
string &replace(int p0, int n0, const char *s, int n); //删除p0开始的n0个字符,然后在p0处插入字符串s的前n个字符
string &replace(int p0, int n0, const string &s); //删除从p0开始的n0个字符,然后在p0处插入串s
string &replace(int p0, int n0, const string &s, int pos, int n); //删除p0开始的n0个字符,然后在p0处插入串s中从pos开始的n个字符
string &replace(int p0, int n0, int n, char c); //删除p0开始的n0个字符,然后在p0处插入n个字符c
string &replace(iterator first0, iterator last0, const char *s); //把 [first0,last0)之间的部分替换为字符串s
string &replace(iterator first0, iterator last0, const char *s, int n); //把 [first0,last0)之间的部分替换为s的前n个字符
string &replace(iterator first0, iterator last0, const string &s); //把 [first0,last0)之间的部分替换为串s
string &replace(iterator first0, iterator last0, int n, char c); //把 [first0,last0)之间的部分替换为n个字符c
string &replace(iterator first0, iterator last0, const_iterator first, const_iterator last); //把 [first0,last0)之间的部分替换成 [first,last)之间的字符串
备注:相关代码演示详见视频教程!
4、string字符串类的插入操作:
string &insert(int p0, const char *s);
string &insert(int p0, const char *s, int n);
string &insert(int p0, const string &s);
string &insert(int p0, const string &s, int pos, int n);
//前4个函数在p0位置插入字符串 s 中 pos 开始的前 n 个字符
string &insert(int p0, int n, char c); //此函数在p0处插入n个字符c
iterator insert(iterator it, char c); //在it处插入字符c,返回插入后迭代器的位置
void insert(iterator it, const_iterator first, const_iterator last); //在it处插入[first,last)之间的字符
void insert(iterator it, int n, char c); //在it处插入n个字符c
备注:相关代码演示详见视频教程!
5、string字符串类的删除操作
iterator erase(iterator first, iterator last); //删除 [first,last)之间的所有字符,返回删除后迭代器的位置
iterator erase(iterator it); //删除it指向的字符,返回删除后迭代器的位置
string &erase(int pos = 0, int n = npos); //删除pos开始的n个字符,返回修改后的字符串
备注:相关代码演示详见视频教程!
6、小作业:
将以下字符串以#号为分隔符进行分割,将分割后的各个子串的结果存储到一个 vector 中,字符串如下:
123#ab##cctry.com#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
教程在线观看地址:
https://www.bilibili.com/video/av38388453/?p=54
MP4高清视频下载地址:链接:https://pan.baidu.com/s/1ddDjIycf2KXtzORBjWMbpw 提取码:zk76
本节课件下载(回复后可见):
备注:VIP会员可免费下载本站所有资源(点击查看)!
提示:通过购买VC驿站U盘打包(点击查看)也可加入终身Vip会员^_^ |
评分
-
查看全部评分
上一篇: 《实用C++》第51课 C++中的字符串类stirng①
|