string的find( )函数✅
目录
- 1. 基本用法
- 语法
- 举例
- 2. 延伸用法
- 2.1 找到目标字符第一次出现和最后一次出现的位置
- 2.2 反向查找
- 2.3 查找所有子串在母串中出现的位置
1. 基本用法
语法
string的find()函数用于找出字母在字符串中的位置。
find(str,position)
str:是要找的元素
position:字符串中的某个位置,表示从从这个位置开始的字符串中找指定元素(不填第二个参数,默认从字符串的开头进行查找)
返回值为目标字符的位置(第一个字符位置为0),当没有找到目标字符时返回npos
举例
//找到目标字符的位置
string s = "hello world!";
cout << s.find("e") << endl;
输出结果:1
//未找到目标字符
string s = "hello world!";
if (s.find("a") == s.npos) {cout << "not found" << endl;
}
输出结果:not found
//指定查找位置
string s = "hello world!";
cout << s.find("l",5) << endl;
输出结果:9
2. 延伸用法
2.1 找到目标字符第一次出现和最后一次出现的位置
string s = "hello world!";
cout <<s.find_first_of("l") << endl;//第一次出现的位置
cout << s.find_last_of("l") << endl;//最后一次出现的位置
结果为:
2
9
2.2 反向查找
string s = "hello world!";
cout << s.rfind("l") << endl;//即从后往前第一次出现"l"的位置
结果为:9
通常我们可以这样来使用,当正向查找与反向查找得到的位置不相同说明子串不唯一。
2.3 查找所有子串在母串中出现的位置
//查找s 中flag 出现的所有位置。string s("hello world!");string flag="l";int position=0;int i=1;while((position=s.find(flag,position))!=string::npos){cout<<"position "<<i<<" : "<<position<<endl;position++;i++;}
运行结果
position 1 : 2position 2 : 3position 3 : 9
string的find( )函数✅相关推荐
- OC与c混编实现Java的String的hashcode()函数
首先,我不愿意大家需要用到这篇文章里的代码,因为基本上你就是被坑了. 起因:我被Java后台人员坑了一把,他们要对请求的参数增加一个额外的字段,字段的用途是来校验其余的参数是否再传递过程中被篡改或因为 ...
- c++string类默认函数实现
c++ string类默认几种函数实现. //构造函数传const指针 //参数都是取引用 /*class String { public:String(const char *str = NULL) ...
- string的find函数
string的find函数找不到"\"转义字符,需要再添加一个"\\",这样就可以找到了 #include<cstdint> #include< ...
- C++string中find_first_not_of()函数和find_last_not_of()函数
C++string中find_first_not_of()函数和find_last_not_of()函数 C++string中find_first_not_of()函数和find_last_not_o ...
- java convert函数_自己实现 java中 Convert.toDouble(String str)处理函数 | 学步园
今天在superWaba上看到Convert.toDouble(String str),由于底层问题比较大的数就出错,现在自己写了一个 程序中info()是我加的打印,可以去掉 java中 Conve ...
- 【笔试】:编程实现C++string 类成员函数
http://blog.csdn.net/wangshihui512/article/details/9792309 已知String类声明如下: [cpp] view plaincopy print ...
- C++ string类常用函数
C++ string类常用函数 http://xiaocao000.spaces.live.com/blog/cns!F826A925CF33491A!117.entry string类的构造函数: ...
- C++ 函数返回临时string调用c_str()函数的坑(VS警告:C26815 指针无关联,因为它指向已销毁的临时实例)(悬空指针 dangling pointer)
文章目录 问题背景 20230301 问题深入解析:悬空指针 问题背景 如: ... #pragma warning(disable : 4996) #include <iostream> ...
- C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)
内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...
最新文章
- 某同学配置了一台计算机,第六章 计算机硬件系统作业答案.doc
- Android App“加固”
- Win7系统电脑修改不了文件属性怎么办
- 刚刚!频域通道注意力网络FcaNet开源了!
- 你可能不知道的关于 Git stash 的技巧
- Android 源码获取-----在Windows环境下通过Git得到Android源代码
- 数据结构与算法LeetCode题目记录
- java能写dnf辅助么,【Java8新特征】还没搞懂函数式接口?赶忙过来看看吧!_卡盟,dnf脚本...
- 信号与线性系统分析(吴大正,郭宝龙)(信号的分类)
- linux ascii游戏,linux – Bash ASCII实现
- 网证你申请了吗?怎么使用?
- 如何计算两个日期之间的工作天数
- 性能跑分第一的安卓模拟器?
- 【并发编程的艺术】并发机制原理
- python公司基本面_Python读年报12-获得公司财务基本面信息
- Go语言特性记录及与java、python对比之包、变量和函数
- Java并发编程基础
- JAVA递归函数示例 - 阶乘计算
- underscore_PHP Underscore入门
- 相位噪声的含义和6个测量方法