zoukankan      html  css  js  c++  java
  • 字符串查找函数 find()函数


           find()函数可以帮助你在两个字符串之间,查找很多他们的关系。。。

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
    
    	string s,s2;
    	int n;
    	cin>>n;
    	while(n--)
    	{
    		cin>>s>>s2;
    		string flag;
            int position = s.find(s2);
           if (position != s.npos) 
    	
            cout << "position is : " << position << endl;
     
           else
     
           cout << "Not found the flag" + flag;
    	}
    	return 0;
    }
    /查找s2在s中的第一个位置
    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
    
    	string s,s2;
    	int n;
    	cin>>n;
    	while(n--)
    	{
    		cin>>s>>s2;
    	   string	flag = s2;
          int position = s.find_first_of(flag);
          cout << "s.find_first_of(flag) is : " << position << endl;
    	}
    	return 0;
    }
    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
    
    	string s,s2;
    	int n,m;
    	cin>>n;
    	while(n--)
    	{
    		cin>>s>>s2;
    		cin>>m;
    		int position=s.find(s2,m);//在s中从第n的位置开始查找第一个s2的位置
            cout<<"s.find(s2,m) is : "<<position<<endl;
    	}
    	return 0;
    }
    
    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
    
    	string s,s2;
    	int n;
    	cin>>n;
    	while(n--)
    	{
    		cin>>s>>s2;
    	string	flag=s2;
         int   position=0;
          int i=1;
         while( (position=s.find_first_of(flag,position) )!=string::npos )//在s中查找所有s2的位置并依次输出
    	 {
             //position=s.find_first_of(flag,position);
             cout<<"position  "<<i<<" : "<<position<<endl;
             position++;
             i++;
    	 }
    	}
    	 return 0;
    }
    //在s中从最后一位开始查找s2的第一个位置
    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
    
    	string s,s2;
    	int n;
    	cin>>n;
    	while(n--)
    	{
    		cin>>s>>s2;
    		string	flag=s2;
            int   position=0;
            position=s.rfind (flag);
            cout<<"s.rfind (flag) :"<<position<<endl;
    	}
    	return 0;
    }*/

    在以上的例子中,我们可以熟练掌握一些题型。

    http://acm.nyist.net/JudgeOnline/problem.php?pid=5

    代码:

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    	string s1,s2;
    	int n;
    	cin>>n;
    	while(n--)
    	{
    		cin>>s1>>s2;
    		unsigned int m=s2.find(s1,0);
    		int num=0;
    		while(m!=string::npos)
    		{
    			num++;
    			m=s2.find(s1,m+1);
    		}
    		cout<<num<<endl;
    	}
    	return 0;
    }


  • 相关阅读:
    python使用zipfile递归压缩和解压缩文件
    文件上传控件bootstrap-fileinput中文设置没有效果的情况
    vue keep-alive 不生效和多级(三级以上)缓存失败
    Entityframework批量删除
    EasyUI ComboGrid 集成分页、按键示例
    在Entity Framework中使用事务
    MVC实用构架设计(三)——EF-Code First(6):数据更新最佳实践
    Entityframework更新数据和插入数据
    esayui-datagrid的使用
    javascript:;与javascript:void(0)使用介绍
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4236784.html
Copyright © 2011-2022 走看看