6

これは、例を見ればおそらく非常に簡単ですが、boost::tokenizer または boost::split を一般化して、複数の文字で構成されるセパレーターを処理するにはどうすればよいでしょうか?

たとえば、" _ _" を使用すると、これらの標準的な分割ソリューションはどちらも機能しないようです。

boost::tokenizer<boost::escaped_list_separator<string> > 
        tk(myString, boost::escaped_list_separator<string>("", "____", "\""));
std::vector<string> result;
for (string tmpString : tk) {
    result.push_back(tmpString);
}

また

boost::split(result, myString, "___");
4

3 に答える 3

10
boost::algorithm::split_regex( result, myString, regex( "___" ) ) ;
于 2013-04-03T14:02:52.787 に答える
1

代わりに splitregex を使用する必要があります: http://www.daniweb.com/software-development/cpp/threads/118708/boostalgorithmsplit-with-string-delimeters

于 2013-04-03T14:03:08.910 に答える