2018年03月07日
《その323》 stringクラス(9)
find_first_of, find_last_of による検索
find_first_of関数
検索文字集合の要素の一つが、最初に現れる位置を返却します。
また、文字型の値を受け取る場合は、find と同等です。
find_last_of関数
検索文字集合の要素の一つが、最後に現れる位置を返却します。
また、文字型の値を受け取る場合は、rfind と同等です。
find_first_not_of関数
検索文字集合に含まれない要素が、最初に現れる位置を返却します。
find_last_not_of関数
検索文字集合に含まれない要素が、最後に現れる位置を返却します。
#include <string>
#include <iostream>
using namespace std;
int main() {
//【find_first_of, find_last_of】
string s0("ab#12$$21#ba");
int pos;
// '$'の最初の出現位置
pos = s0.find_first_of('$');
cout << pos << '\n'; // 5
// '$'の最後の出現位置
pos = s0.find_last_of('$');
cout << pos << "\n\n"; // 6
// '#'or'$'の最初の出現位置
pos = s0.find_first_of("#$");
cout << pos << '\n'; // 2
// '#'or'$'の最後の出現位置
pos = s0.find_last_of("#$");
cout << pos << "\n\n"; // 9
// '#'or'$'or'2'or'b' の最初の出現位置
pos = s0.find_first_of("#$2b");
cout << pos << '\n'; // 1
// '#'or'$'or'2'or'b' の最後の出現位置
pos = s0.find_last_of("#$2b");
cout << pos << "\n\n"; // 10
// 第二引数の 3 は検索開始位置
pos = s0.find_first_of("#$", 3);
cout << pos << '\n'; // 5
// 第三引数の 1 は、
// 第一引数"#$"の先頭からの 1 文字、
// すなわち'#'を検索キーとして使用
// せよという指示。
pos = s0.find_first_of("#$", 3, 1);
cout << pos << "\n\n"; // 9
// "楽しい日々"を検索しているのでは
// ありません。
string str("Those were the days!");
string key("fun days");
pos = str.find_first_of(key);
cout << pos << '\n'; // 3
// find_first_not_of
pos = str.find_first_not_of(key);
cout << pos << '\n'; // 0
// find_last_not_of
pos = str.find_last_not_of(key);
cout << pos << '\n'; // 19
}
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7401780
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック