`
java-mans
  • 浏览: 11414202 次
文章分类
社区版块
存档分类
最新评论

C++ 中string.find() 函数的用法总结

 
阅读更多
#include <string>
#include <iostream>
using namespace std;

void main()
{

  1. ////find函数返回类型size_type
  2. strings("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i");
  3. stringflag;
  4. string::size_typeposition;
  5. //find函数返回jk在s中的下标位置
  6. position=s.find("jk");
  7. if(position!=s.npos)//如果没找到,返回一个特别的标志c++中用npos表示,我这里npos取值是4294967295,
  8. {
  9. cout<<"positionis:"<<position<<endl;
  10. }
  11. else
  12. {
  13. cout<<"Notfoundtheflag"+flag;
  14. }
  1. //find函数返回flag中任意字符在s中第一次出现的下标位置
  2. flag="c";
  3. position=s.find_first_of(flag);
  4. cout<<"s.find_first_of(flag)is:"<<position<<endl;
  1. //从字符串s下标5开始,查找字符串b,返回b在s中的下标
  2. position=s.find("b",5);
  3. cout<<"s.find(b,5)is:"<<position<<endl;

  1. //查找s中flag出现的所有位置。
  2. flag="a";
  3. position=0;
  4. inti=1;
  5. while((position=s.find_first_of(flag,position))!=string::npos)
  6. {
  7. //position=s.find_first_of(flag,position);
  8. cout<<"position"<<i<<":"<<position<<endl;
  9. position++;
  10. i++;
  11. }
  1. //查找flag中与s第一个不匹配的位置
  2. flag="acb12389efgxyz789";
  3. position=flag.find_first_not_of(s);
  4. cout<<"flag.find_first_not_of(s):"<<position<<endl;
  1. //反向查找,flag在s中最后出现的位置
  2. flag="3";
  3. position=s.rfind(flag);
  4. cout<<"s.rfind(flag):"<<position<<endl;
  5. }


说明:

1. 如果string sub = ”abc“;

string s = ”cdeabcigld“;

s.find(sub) , s.rfind(sub) 这两个函数,如果完全匹配,才返回匹配的索引,即:当s中含有abc三个连续的字母时,才返回当前索引。

s.find_first_of(sub), s.find_first_not_of(sub), s.find_last_of(sub), s.find_last_not_of(sub) 这四个函数,查找s中含有sub中任意字母的索引。

2. 如果没有查询到,则返回string::npos,这是一个很大的数,其值不需要知道

分享到:
评论

相关推荐

    c++中 string 类的find函数的用法

    c++中 string 类的find函数的用法 在字符串查找需要的字符

    深入C++ string.find()函数的用法总结

    本篇文章是对C++中string.find()函数的用法进行了详细的总结与分析,需要的朋友参考下

    详解C++ string常用截取字符串方法

    string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos); 其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子...

    《C++String深入详解2.0版》PDF

    一、 C++的string的使用 3 1.1 C++ string简介 3 1.2 string的成员 3 1.2.1 append 3 1.2.2 assign 4 1.2.3 at 4 1.2.4 begin 5 1.2.5 c_str 5 1.2.6 capacity 5 1.2.7 clear 6 1.2.8 compare 6 1.2.9 copy 6 1.2.10...

    c++中的string常用函数用法总结

    标准c++中string类函数介绍注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以...

    功能强大的String类源码(C++)

    用C++语言实现的一个功能强大的String类,该类包含对字符串的各种灵活操作,40多个强大的API(CharAt,Length,IndexOf,Replace,Add,Insert,Remove.....), 为学习数据结构的朋友提供了很好的帮助。

    《深入学习c++string》2.1版

    一、 C++的string的使用 4 1.1 C++ string简介 4 1.2 string的成员 4 1.2.1 append 4 1.2.2 assign 5 1.2.3 at 5 1.2.4 begin 6 1.2.5 c_str 6 1.2.6 capacity 6 1.2.7 clear 7 1.2.8 compare 7 1.2.9 copy 7 1.2.10...

    C++常用函数(Word版)

    数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 ...... 目录函数,所在函数库为dir.h、dos.h int chdir...

    C字符串函数对应的C++ string操作详解

    string是STL里的标准类,习惯了使用指针操作C的char *字符串,刚开始并不是很适应,主要原因是对string.h里的函数没有找到合适的C++替换方法,因此,对常用的sring.h里的函数替换说明如下: strcpy: str.substr() ...

    C++中的string类的用法小结

    其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少...

    C++STL中algorithm里find()函数

    C++STL中algorithm里find()函数 1.string中的运用 1.1函数原型及描述 函数1 size_type find(const string & str, size_type pos = 0) const 形参列表str:要查找的子字符串string变量,pos :要查找的起始位位置 ...

    代码分析c++中string类

    一:回顾 (1)c++中的string类是在面试中和笔试中经常考的题目;...(4) 使用friend 仅仅是在类中进行声明的非内部 却可以访问内部成员的外部函数,而且在外部不再需要friend关键字;它与成员函数的区别是,friend

    c++ string类详细资料

    1 string 使用 1.1 充分使用string ...1.2 眼花缭乱的string find 函数 1.3 string insert, replace, erase 2 string 和 C风格字符串 3 string 和 Charactor Traits 4 string 建议 5 小结 6 附录前言: string 的角色

    -C++参考大全(第四版) (2010 年度畅销榜

    第二部分详细介绍了C++本身的特性,如类和对象、构造函数、析构函数和模板等;第三部分描述了标准函数库;第四部分讨论了标准类库,包括STL(标准模板库);第五部分显示了两个应用C++和面向对象编程的实际例子。 本书...

    c++string类的实现

    2)string类经常用到find find_first_of find_first_not_of find_last_of find_last_not_of substr replace等,以及联合使用来达到java中的split和trim 3) 有些函数返回的是MyString& 、Char& 等(引用),MyString、...

    Makefile.pdf

    四、 makefile中使用变量....................................................................................................10 五、让make自动推导...........................................................

    跟我一起写Makefile.pdf

    四、makefile中使用变量....................................................................................................10 五、让make自动推导...........................................................

    浅谈C++中replace()方法

    本文主要针对c++中常用replace函数用法给出九个样例程序: 用法一:  /* *用str替换指定字符串从起始位置pos开始长度为len的字符 *string& replace (size_t pos, size_t len, const string& str); */ int main...

    C/C++程序员面试指南.杨国祥(带详细书签).pdf

    面试题10:编写类String 的构造函数、析构函数和赋值函数 8.4 拷贝构造函数 面试题11:谈谈对拷贝构造函数和赋值运算符的认识 面试题12:写出当定义#define _INMAIN 0和不定义时代码打印结果 第9章 继承与多态 9.1 ...

Global site tag (gtag.js) - Google Analytics