编程语言: c++/linux

在std::string中,有时需要找到一个string中最后一个或者第一个以某个特定的字符开始的位置或者下标,这时就需要使用find_first_of()和find_last_of()函数。

find_first_of() : 找到一个string中第一个以 某个 字符开始的位置

find_last_of() :找到一个string中最后一个以 某个 字符开始的位置

使用方式如下:

#include <iostream>
#include <string>int main () {std::string str1 ("tvab33_v12");std::size_t pos_first = str1.find_first_of('v');std::cout << "pos_first=" << pos_first << std::endl;std::size_t pos_last = str1.find_last_of('v');std::cout << "pos_last=" << pos_last << std::endl;return 0;
}

结果:

还有另外2个函数:

find_first_not_of("abc") : 找到string中第一个不是以字符'a'/'b'/'c'开始的字符的位置
find_last_not_of("abc") :  找到string中最后一个不是以字符'a'/'b'/'c'开始的字符的位置

// string::find_first_not_of
#include <iostream>       // std::cout
#include <string>         // std::string
#include <cstddef>        // std::size_tint main () {std::string str ("look for non-alphabetic characters...");std::size_t pos = str.find_first_not_of("abcdefghijklmnopqrstuvwxyz");if (pos != std::string::npos){std::cout << "The first not in abcdefghijklmnopqrstuvwxyz :" << str[pos] << std::endl;std::cout << " position is:" << pos << std::endl;}return 0;
}

结果:

std::string中的find_first_of()和find_last_of()函数相关推荐

  1. std::string中的反向迭代器rbegin()和rend()

    在std::string中,有个接口是rbegin()和rend(),分别表示string字符串的倒数第一个字符和正数第一个字符: rbegin():表示string字符串的倒数第一个字符 rend( ...

  2. 错误 不存在从 “std::string“ 到 “LPCSTR“ 的适当转换函数

    遇到这样的问题需要将std:string类型转为LPCSTR类型. 标准库的std::string转换成LPCSTR很简单:直接调用c_str()即可.例: std::string a="a ...

  3. C++解决:不存在从 “std::string” 到 “LPCWSTR” 的适当转换函数

    @TOCC++解决:不存在从 "std::string" 到 "LPCWSTR" 的适当转换函数 解决办法如下: //orig为输入的string字符串#inc ...

  4. C++ string中find ,rfind 等函数 用法总结及示例

    string中 find()的应用  (rfind() 类似,只是从反向查找) 原型如下: (1)size_t find (const string& str, size_t pos = 0) ...

  5. 小白提问:C++ 不存在从 “std::string“ 到 “char *“ 的适当转换函数

    提问 看不懂错误,把char nam[ ]换成string,strcpy(name1, nam)换成name1= nam就可以(我知道为什么可以,不知道为什么不可以@TOC #include #inc ...

  6. C++中std::string与C-String字符数组的互相转换

    C语言中只有字符数组这一说法,没有C++专门封装的字符串类std::string.而字符数组C-String以\0作为结束符.std::string其实还是存储了C-String这个指针,只不过不同的 ...

  7. 如何将std :: string转换为const char *或char *?

    如何将<code>std::string转换为char*或const char* ? #1楼 看看这个: string str1("stackoverflow"); c ...

  8. std::string格式化输入输出

    在C语言中: C函数有sprintf函数, 比较方便, 但是需要知道所需要的内存空间是多少. 在C++的框架MFC中: 在MFC中CString 有Format函数来格式化字符串. 很方便. 难过的是 ...

  9. 【C++ 包装器类 map】C++ 标准库(std)中的map结构 哈希表(unordered_map)和黑红树(map)教程

    目录标题 1. 哈希表(unordered_map)和黑红树(map)简介以及初始化 1.1 哈希表的基本介绍 1.1.1 哈希表初始化接口示例 1.1.2 哈希表的键值的注意事项 1.1.3 自定义 ...

最新文章

  1. Spring Boot常见企业开发场景应用、自动配置原理结构分析
  2. Symbian c++ MCameraObserver类的方法解释
  3. 基于MATLAB的小波去噪
  4. SQL Server中查询所有的表、视图、列和存储过程
  5. mysql 员工工资上涨5%_工资从1万到3万,你还差mysql数据库优化之系列五
  6. HTTP电脑发送短信接口调用示例
  7. postgresql 按日期范围查询
  8. 安装iis 出现ASP无法访问的解决方法
  9. Eclipse中启动tomcat访问404解决及原因
  10. django03配置相关
  11. QTP添加java插件
  12. Linux源码安装步骤详解
  13. 原码一位乘的数值运算
  14. 360面临两线作战----手机安全领域硝烟再起
  15. 达梦数据库高可用解决方案
  16. python初学者-计算小于100的最大素数
  17. liunx 操作系统的区别和之间的关系
  18. 20190301 小中大
  19. 彻底了解Cookie
  20. Unity3D游戏启动界面常用设置

热门文章

  1. 锐动SDK应用于行车记录仪
  2. PL SQL导入导出sql/dmp文件
  3. 学好Linux决心书
  4. html body标签
  5. 1682: [Usaco2005 Mar]Out of Hay 干草危机
  6. 安装perl5.10.0
  7. .读取excel表格(JAVA)
  8. 设计模式——原型模式
  9. 股票自动交易使用协议
  10. 计算机科学数学理论浅谈 (转载)