日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

C++ string 字符串查找匹配

發(fā)布時(shí)間:2024/8/26 综合教程 40 生活家
生活随笔 收集整理的這篇文章主要介紹了 C++ string 字符串查找匹配 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在寫(xiě)C++程序中,總會(huì)遇到要從一個(gè)字符串中查找一小段子字符串的情況,對(duì)于在C中,我們經(jīng)常用到strstr()或者strchr()這兩種方法。而對(duì)于C++的string,我們往往會(huì)用到find()。

C++:#inlcude<string>
C: #include<string.h>

find():在一個(gè)字符串中查找一個(gè)指定的單個(gè)字符或字符數(shù)組。如果找到,就返回首次匹配的開(kāi)始位置;如果沒(méi)有查找到匹配的內(nèi)容,就返回string::npos。
find_first_of():在一個(gè)目標(biāo)串中進(jìn)行查找,返回值是第一個(gè)與指定字符組中任何字符匹配的字符位置。如果沒(méi)有查找到匹配的內(nèi)容,則返回npos。
find_last_of():在一個(gè)目標(biāo)串中進(jìn)行查找,返回最后一個(gè)與指定字符組中任何字符匹配的字符位置。如果沒(méi)有查找到匹配的內(nèi)容,則返回npos。
find_first_not_of():在一個(gè)目標(biāo)串中進(jìn)行查找,返回第一個(gè)與指定字符組中任何字符都不匹配的元素位置。如果找不到那樣的元素則返回npos。
find_last_not_of():在一個(gè)目標(biāo)串中進(jìn)行查找,返回下標(biāo)值最大的與指定字符組中任何字符都不匹配的元素的位置。若找不到那樣的元素則返回npos。
rfind():對(duì)一個(gè)串從尾至頭查找一個(gè)指定的單個(gè)字符或字符組。如果找到,就返回首次匹配的開(kāi)始位置;如果沒(méi)有查找到匹配的內(nèi)容,則返回npos。

find(string, int):第一個(gè)參數(shù)用來(lái)指示要查找的字符,第二個(gè)參數(shù)用來(lái)表示從字符串的何處開(kāi)始查找子串(默認(rèn)的查找位置是0)。

舉例:字符串匹配

 1 #include "stdafx.h"
 2 #include<iostream>
 3 #include<math.h>
 4 #include<string>
 5 using namespace std;
 6 
 7 int _tmain(int argc, _TCHAR* argv[])
 8 {
 9 string T;//原串
10 string P;//模式
11 while(cin>>T>>P)
12 { 
13 int count=0;
14 int begin=-1;
15 while((begin=T.find(P,begin+1))!=string::npos)
16 {
17 count++;
18 }
19 cout<<count<<endl;
20 }
21 int z;
22 cin>>z;
23 return 0;
24 }

轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://www.cnblogs.com/fnlingnzb-learner/p/5831454.html

總結(jié)

以上是生活随笔為你收集整理的C++ string 字符串查找匹配的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。