• 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


     

  • 相关阅读:
    [o] SQLite数据库报错: Invalid column C
    startActivityForResult和setResult详解
    [o] duplicate column name: _id 问题解决
    [O] SQLite数据库报错:no such column
    [原创] SQLite数据库使用清单(下)
    [原创] SQLite数据库使用清单(上)
    iOS CocoaPods详解之 Analyzing dependencies
    iOS UILabe的详细使用及特殊效果
    一个简单的socket通信小demo
    iOS Lable给文字添加中划线和下划线
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697951.html
Copyright © 2020-2023  润新知