VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 7848|回复: 93

《实用C++》第52课 C++中的字符串类stirng②

  [复制链接]
51_avatar_middle
online_admins 发表于 2018-6-29 01:12:40 | 显示全部楼层 |阅读模式
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会员^_^

评分

参与人数 2驿站币 +3 热心值 +3 收起 理由
23_avatar_small 滑翔伞萌哒哒! + 1 + 1 很给力!
61_avatar_small 轩墨 + 2 + 2 支持原创!

查看全部评分





上一篇:《实用C++》第51课 C++中的字符串类stirng①
80_avatar_middle
在线会员 发表于 2018-6-29 08:48:08 | 显示全部楼层
坚持学习!
98_avatar_middle
在线会员 发表于 2018-6-29 08:53:41 | 显示全部楼层
谢谢提供
继续学习

74_avatar_middle
在线会员 发表于 2018-6-29 09:53:39 | 显示全部楼层
看看        
74_avatar_middle
在线会员 发表于 2018-6-29 11:59:13 | 显示全部楼层
看下。··
78_avatar_middle
在线会员 发表于 2018-6-29 12:10:37 | 显示全部楼层
不错,谢谢
66_avatar_middle
在线会员 发表于 2018-6-29 15:28:05 | 显示全部楼层
将以下字符串以#号为分隔符进行分割,将分割后的各个子串的结果存储到一个 vector 中,字符串如下: 123#ab##cctry.com#
82_avatar_middle
在线会员 发表于 2018-6-29 17:34:13 | 显示全部楼层

坚持学习!
95_avatar_middle
在线会员 发表于 2018-6-29 20:21:32 | 显示全部楼层
谢谢提供
继续学习
95_avatar_middle
在线会员 发表于 2018-6-29 20:28:59 | 显示全部楼层
老大视频格式要不是exe格式就好了
48_avatar_middle
在线会员 发表于 2018-6-30 11:54:10 | 显示全部楼层
dddddddddddddddddd
75_avatar_middle
在线会员 发表于 2018-6-30 12:19:25 | 显示全部楼层
谢谢分享,楼主辛苦了!
23_avatar_middle
online_vip 发表于 2018-6-30 14:29:04 | 显示全部楼层
学习学习,谢谢!
96_avatar_middle
在线会员 发表于 2018-6-30 16:53:38 | 显示全部楼层
学习中!!~~努力开发自己的小程序
85_avatar_middle
在线会员 发表于 2018-6-30 16:55:00 | 显示全部楼层
感谢分享,学习一下.
86_avatar_middle
在线会员 发表于 2018-7-2 14:52:58 | 显示全部楼层
2xbf2xbf2xbf2xbf2xbf
34_avatar_middle
在线会员 发表于 2018-7-2 22:22:46 | 显示全部楼层
不错不错,更新很快
40_avatar_middle
online_vip 发表于 2018-7-4 19:59:15 | 显示全部楼层
认真学习!!!
28_avatar_middle
在线会员 发表于 2018-7-4 20:50:42 | 显示全部楼层
学习学习!
51_avatar_middle
在线会员 发表于 2018-7-5 06:25:28 | 显示全部楼层
string substr(int pos = 0, int n = npos) const;    //返回 pos 开始的 n个字符组成的字符串
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-9-21 07:51

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表