English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Cでの書き方++プログラムでは、文字列から短い文字列を検索する必要があることがよくあります。Cでは、strstr()やstrchr()のいずれかを使用することが一般的です。C++のstringでは、find()を使用することがよくあります。
C++:#inlcude<string>
C: #include<string.h>
find():文字列中で指定された単一の文字または文字列を検索します。一致が見つかった場合、最初の一致する位置を返します;一致する内容が見つからない場合、string::nposを返します。
find_first_of():指定の文字列中で検索を行い、指定された文字群のどれか一つと一致する最初の文字の位置を返します。一致する内容が見つからない場合、nposを返します。
find_last_of():指定された文字列内で検索を行い、指定された文字群のどの文字にも一致する最後のインデックス位置を返します。一致する内容が見つからない場合、nposを返します。
find_first_not_of():指定された文字列内で検索を行い、指定された文字群のどの文字にも一致しない最初のインデックス位置を返します。一致する要素が見つからない場合、nposを返します。
find_last_not_of():指定された文字列内で検索を行い、指定された文字群のどの文字にも一致しない最大のインデックス位置を返します。一致する要素が見つからない場合、nposを返します。
rfind():指定された単一の文字または文字群を文字列の末尾から先頭に向かって検索します。もし見つかった場合、最初の一致する位置を返します;一致する内容が見つからない場合、nposを返します。
find(string, int):最初の引数は検索する文字を示し、二つ目の引数は文字列からどの位置から検索を開始するかを示します(デフォルトの検索位置は0です)。
例:文字列マッチング:
#include "stdafx.h" #include<iostream> #include<math.h> #include<string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string T;//元文字列 string P;//パターン while(cin>>T>>P) { int count=0; int begin=-1; while((begin=T.find(P,begin+1))!=string::npos) { count++; } cout<<count<<endl; } int z; cin>>z; return 0; }
これが編集者が皆様に提供するC++ string 字符串検索マッチインスタンスコードの全てを含めました、皆様の応援と歓声を多くお願いします~