string.find()函数用法

2014-11-24 00:57:56 · 作者: · 浏览: 2

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

#include 
  
   
#include 
   
     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"<
    
     

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

#include 
      
       
#include 
       
         using namespace std; int main() { string s="hahahaha"; string s1="a"; int position; position=s.find_first_of(s1); cout<
         
         

\

3.从字符串s下标为a开始查找字符串s1,返回起始位置 s.find(s1,a); 查找不到返回-1< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">#include #include using namespace std; int main() { string s="have a good time"; string s1="good"; int position; position=s.find(s1,3); cout<

\

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

#include 
          
           
#include 
           
             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<
            
             

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

#include 
              
               
#include 
               
                 using namespace std; int main() { string s="aaabcd"; string s1="aaafcd"; int position; position=s.find_first_not_of(s1); cout<
                 
                 


\

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

#include 
                  
                   
#include 
                   
                     using namespace std; int main() { string s="aaabcd"; string s1="abc"; int position; position=s.rfind(s1); cout<
                     
                     


参考资料:

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