C++中string类型的find 函数
2024-08-28 09:13:41
(去膜拜大佬的博客园,结果被自己菜到自闭)
find
string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos。
对其返回的下标position的定义:
string::size_type position;
前面那一块是一个类型,不要管他(我是小白)
string s("1a2b3c4d5e6f7jkg8h9i1a2b3c4d5e6f7g8ha9i");
string flag;
string::size_type position;
//find 函数 返回jk 在s 中的下标位置
position = s.find("jk");
if (position != s.npos) //如果没找到,返回一个特别的标志c++中用npos表示,要记住,这是一个很大的数,不是零
{
printf("position is : %d\n" ,position);
}
else
{
printf("Not found the flag\n");
}
再来一组
s.find_first_of(flag):从头找flag 的位置
s.find_last_of(flag):倒着找flag的位置
find("b",5):从第五位往后找b所在的位置
flag = "c";
position = s.find_first_of(flag);
printf("s.find_first_of(flag) is :%d\n",position);
position = s.find_last_of(flag);
printf("s.find_last_of(flag) is :%d\n",position);
position=s.find("b",);
cout<<"s.find(b,5) is : "<<position<<endl;
//查找s 中flag 出现的所有位置。
还有一个更高级的,
寻找所有的flag
find(flag,position)!=string::npos
flag="a";
position=;
int i=;
while((position=s.find(flag,position))!=string::npos)
{
cout<<"position "<<i<<" : "<<position<<endl;
position++;
i++;
}
也可以进行反向查找
s.rfind()
flag="";
position=s.rfind (flag);
printf("s.rfind (flag) :%d\n",position);
这个地方有个内容,就是当s.find 与s,rfind寻找的地址不一致时,说明不止出现了一次.
(所以有些题询问是否出现了一次时可以用)
感谢大佬的博客园对本小白的帮助.
部分代码参考来自
https://www.cnblogs.com/wkfvawl/p/9429128.html
此处应有掌声.
虽然菜到了自闭,但是还是要继续往下走,去面对新的挑战.
最新文章
- 【Cocos2d-x for WP8 学习整理】(3)CCScrollView 实现捕鱼达人一样的场景选择界面
- Oracle 11g服务器安装详细步骤
- WIN2008 R2 安装SQLSERVER2008笔记
- Bootstrap 框架 栅格布局系统设计原理
- memset的使用
- java命令行参数
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.4.MVC的主要工具-使用Moq
- UVA 11019 Matrix Matcher(ac自动机)
- JS中字符串拼装 单双引号的处理 字符转义
- HDOJ 2030 汉字统计
- Jquery 点击空白处消失
- action接收到来自jsp页面的请求时出现中文乱码问题处理方法
- 城通网盘,千军万马,千脑网盘,119g网盘哪个适合做网赚?
- Git学习(1)-本地版本库的创建
- ArcGIS For Flex报错二
- python中的MySQL使用 + pickle使用
- springboot+vue前后端分离,nginx代理配置 tomcat 部署war包详细配置
- centos7安装ceph-luminous(1 mon+2 osd)
- User_Agent大全
- 第十一周(11.24-12.01)----ptim测试程序运行速度
热门文章
- Redis哨兵集群创建脚本--v1
- appium移动端自动化测试环境搭建windows-appium-android
- Talk About AWS Aurora for MySQL max_connections parameter Calculation | 浅谈AWS Aurora for MySQL数据库中 max_connections参数的计算
- FileBeat yml配置文件 -常用参数详解
- python os 模块的使用
- java学习第六天2020/7/11
- python 面向对象专题(九):特殊方法 (二)__get__、__set__、__delete__ 描述符(二)覆盖型与非覆盖型描述符对比
- Mariadb之主从复制的读写分离
- C# Dictionary的底层实现解析
- 软件测试中的微信小程序怎么测试?