0

1 セットの文字列と、2 番目の文字列があります。そして、そのセットを反復処理して、現在の文字列がその 2 番目の文字列に含まれているかどうかを判断したいと思います。STLこれらのインクルードのいずれかから、またはそのいずれかから、作業を容易にするツールはありますか?

#include <cctype>
#include <iostream>
#include <iomanip>
#include <set>
#include <list>
#include <map>
#include <vector>
#include <queue>
#include <string>

使用事例:

test1 . Add    ( 0, "hello" );
test1 . Add    ( 1, "world" );
test1 . Add    ( 2, "rld" );
test1 . Add    ( 3, "ell" );
test1 . Add    ( 4, "hell" );
printSet ( test1 . Search ( "hello world!" ) );
// 0, 1, 2, 3, 4
printSet ( test1 . Search ( "hEllo world!" ) );
// 1, 2

もちろん、文字列ごと、文字ごとに比較したり、オートマトンを作成したりできますが、実際よりも難しくする必要があります:)

4

2 に答える 2

2

std::string::find検索に使用し、結果を比較してカウントするためにboost::bindそれを渡すこと ができます関連する例をここで見つけることができます 別のより簡単なアプローチは、コンストラクターで文字列を受け取り、部分文字列を検索してnpos'をカウントする独自のファンクターを作成することですエスstd::for_eachboost::lambdastd::string::npos

operator()(const std::string&)

于 2013-04-16T13:15:13.293 に答える
1

find_ifを使用できます。

これが役立つことを願っています

于 2013-04-16T13:19:20.967 に答える