1 /// /関数の戻り型がsize_type検索 2 ストリング S(" 1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9iを" ); 3 列フラグに、 4 列:: size_type位置; 5 。6 // 関数は、Sにおける添字JK位置を返して下さい 7。位置=秒。検索(" JK " ); 8 IF(!=位置s.npos) // 見つからない場合は、NPOなどを使っ++特殊記号cを返し、私はここにいる、と述べたが、値が4294967295であるNPOの 9 { 10 coutの<< " 位置IS:" <<ポジション<< てendl; 11 } 12で 他 13である { 14 COUT << 「フラグが見つかりません」 + フラグ; 15 } 16 17 18である 。// 関数は、Sの最初の発生のフラグに任意の文字のインデックス位置を返して下さい 19。 フラグ= 「C 」。 20は 位置= (フラグに)s.find_first_of; 21は COUT << " (フラグに)s.find_first_ofは、次のとおり、" <<位置<< ENDL、 22は 23である 。// 5つの添字S、Bルックアップ列、リターンからストリングSにおける添字B 24 位置s.find =(" B "、5 )。 25 COUT << " s.find(B、5)である:" <<位置<< ENDL。 26 27 // 查找の中フラグ出现的所有位置。 28 フラグ= " A " 。 29 位置= 0 。 30 INT I = 1 。 31 一方((位置= s.find_first_of(旗位置))=!文字列::のNPO) 32 { 33 // 位置= s.find_first_of(旗位置)。 34 裁判所未満<< " 位置 " << I <<:" <<位置<< ENDL; 35 位++ ; 36 Iは++ ; 37 } 38である 39 // 初の一致しないフラグと位置を見つける 40 フラグ= " acb12389efgxyz789を" ; 41である 位置= flag.find_first_not_of(S)。 42は COUT << " flag.find_first_not_of(S):" <<位置<< ENDL、 43は 44である 45 // Sの最後に出現における逆引き位置フラグ 46が フラグ= " 3。" 、 47 位置=s.rfind(フラグ)。 48 COUT << " s.rfind(フラグ):" <<位置<< ENDL。 49 }
常にCでのために、見つけ短い文字列の部分文字列からケースがあるだろう、C ++プログラムを書いて、私たちはしばしばはstrstr()またはstrchr()これらの2つの方法を使用します。C ++文字列については、我々は多くの場合、検索を使用します()。
C ++:#はCをinlcudeます。#include <string.hの>
()を見つける:指定した文字列内の文字列または単一の文字を検索します。見つかった場合は、最初に一致の開始位置に戻り、一致がコンテンツを発見されなかった場合は、文字列を返します:: NPOなど。
find_first_of():対象の文字列に見上げ、戻り値は最初の文字セット指定された文字は、任意の文字位置と一致しています。あなたが一致するコンテンツが見つからない場合は、NPOなどが返されます。
find_last_of():対象の文字列に見上げ、指定された文字の位置と最後の文字セットは、任意の文字に一致返します。あなたが一致するコンテンツが見つからない場合は、NPOなどが返す
)(find_first_not_of:文字列内のターゲットを見つけるために、任意の文字要素の位置と一致していない最初の指定された文字セットを返します。その要素は、NPOなどが戻ら見つけることができなかった場合
)(find_last_not_ofを:文字列内のターゲットを見つけ、任意の文字に一致しない要素の指定された文字セットで最大のインデックス値の位置を返します。要素のようなものが見つからない場合のNPOが返されます。
RFIND():文字列の先頭に尾から指定された個々の文字または文字グループを検索します。見つかった場合は、最初に一致の開始位置に戻り、あなたが一致するコンテンツが見つからない場合は、NPOなどが返されます。
最初のパラメータは、二番目のパラメータを見つけるために、文字を示すために使用される文字列の部分文字列を探し始めるに示すために使用された(0検索のデフォルトの位置である):(文字列、intは)を見つけます。