1. ホーム
  2. c++

[解決済み] n番目に出現する文字列のインデックス

2022-02-27 13:17:16

質問

ある行の中で、与えられた文字列がn番目に現れるインデックスを見つけるにはどうしたらよいでしょうか?そのインデックスから部分文字列を取り出すために必要です。c++の関数で可能でしょうか?

どのように解決するのですか?

があります。 find_nth のテンプレート関数は、Boost の http://www.boost.org/doc/libs/1_54_0/doc/html/boost/algorithm/find_nth.html

#include <iostream>
#include <boost/algorithm/string/find.hpp>

using namespace std;
using namespace boost;

int main() {

    string a = "The rain in Spain falls mainly on the plain";

    iterator_range<string::iterator> r = find_nth(a, "ain", 2);
    cout << std::distance(a.begin(), r.begin()) << endl;

    return 0;
}