1. 程式人生 > >string find的用法詳解

string find的用法詳解

/*
string 
        find()的使用  


#include<iostream>
#include<string>
using namespace std;

int main(){
    string st1=("babbabab");

    //從前面找a的位置

    cout<<st1.find('a')<<"   ";  cout<<"輸出第一個a的下標  (從0開始) "<<endl;
    cout<<st1.find('a',0)<<"     ";cout<<"('a',x) 從x下標開始查詢a的下標"
<<endl; //從後面找a 的位置 cout<<st1.rfind('a',1)<<" ";cout<<"從0 到 x 從後向前查詢a 所在該串的位置"<<endl; cout<<(st1.find('c',0)==-1)<<endl; //該數字不存在 就滿足條件 為真 1 兩句均輸出1,原因是計算機中-1和4294967295都表示為32個1(二進位制) //st1.find("y",x); 該y可以是字串 字元 string char型 均可 cout<<st1.find("bababa"
,0,4)<<endl; //6 第三個引數不得超過第一個引數 return 0; } find() 的例項 #include<iostream> #include<string> using namespace std; int main(){ string str("babccbabcaabcc"); int num=0; size_t fi=str.find("abc",0); while(fi!=str.npos){ //沒有找到一個 需要找到的位置 cout<<fi<<" "
; num++; //統計一共有幾個下標 fi=str.find("abc",fi+1); //輸出下一個下標 } if(0==num) cout<<"not find!"; cout<<endl; return 0; } */ // find_first_of() 的用法 // 同樣 find_last_of(str,x); 意思是從 x向前找 如果存在一個與str中相同的 則輸出該下標 // //這裡不再演示 find_first_not_of() find_last_not_of()的用法了 其作用是 //如果該字元在str中沒有出現就輸出該下標 #include<iostream> #include<string> using namespace std; int main(){ string str("babccbabcc"); cout<<str.find('a',0);//1 cout<<str.find_first_of('a',0)<<endl; //1 從0開始只要找到a 就輸出該a的小標 string str1("bvgjhikl"); string str2("kghlj"); cout<<str1.find_first_of(str2,0)<<endl; //從str1的第0個字元開始 過程就是 b在str2中是否存在 如果存在就直接輸出該下標 //在找v是否在str2中是否存在 存在就輸出改下標 cout<<str1.find_first_of("kghlj",0,20);//2 第三個引數超過