zoukankan      html  css  js  c++  java
  • string.find()函数用法

    1.返回字符串s1在s中的位置,如果没有找到,则返回-1

    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int main()
    {
       string s="what are you dong";
       string s1="are";
       int position;
       position=s.find(s1);
       if(position==-1)
        cout<<"not find"<<endl;
       else
        cout<<"position= "<<position<<endl;
       return 0;
    }
    


     

    2.返回任意字符s1在s中第一次出现的位置,s1为字符,不能为字符串  'a'  "a"都可以

    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int main()
    {
       string s="hahahaha";
       string s1="a";
       int position;
       position=s.find_first_of(s1);
       cout<<position<<endl;
       return 0;
    }
    

    3.从字符串s下标为a开始查找字符串s1,返回起始位置  s.find(s1,a); 查找不到返回-1

    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int main()
    {
       string s="have a good time";
       string s1="good";
       int position;
       position=s.find(s1,3);
       cout<<position<<endl;
       position=s.find(s1,12);
       cout<<position<<endl;
       return 0;
    }
    

    4.查找字符s1在s中出现的所有起始位置

    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int main()
    {
       string s="abb abb abb";
       string s1="a"; //char s1='a';
       int position=0;
       int i=0;
       while((position=s.find_first_of(s1,position))!=string::npos)
       {
           cout<<position<<endl;
           position++;
           i++;//i为出现的总次数
       }
       cout<<"total="<<i<<endl;
       return 0;
    }
    


    5.查找字符串s1与s第一个不匹配的位置

    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int main()
    {
       string s="aaabcd";
       string s1="aaafcd";
       int position;
       position=s.find_first_not_of(s1);
       cout<<position<<endl;
       return 0;
    }
    


    6.反向查找,返回s1在s中的位置

    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int main()
    {
       string s="aaabcd";
       string s1="abc";
       int position;
       position=s.rfind(s1);
       cout<<position<<endl;
       return 0;
    }
    


    参考资料:

    http://www.jb51.net/article/37560.htm


     

  • 相关阅读:
    解决安装vmware-tools出现的“The path "" is not a valid path to the 3.2.0-4-amd64 kernel headers”问题
    页面布局
    CSS属性/尺寸/边框/背景 超级链接
    前端
    索引
    Pymysql
    单表查询,多表查询,子查询
    表的完整性约束
    文件库,文件表,记录的增删改查
    IO多路复用,数据库mysql
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697951.html
Copyright © 2011-2022 走看看