私はboost::split(lines, str, boost::is_any_of(delims));
今、各分割に対してどの delim 文字が見つかったかを知りたいと思っています。その文字を分割された行の最後に置きます。元の文字列を再現できるようにします。boost::split
検索しましたが、 Do I need to use any other functionでそのような機能が見つかりませんでした?
1 に答える
1
mbboost::tokenizer
とboost::char_separator
?
http://www.boost.org/doc/libs/1_51_0/libs/tokenizer/char_separator.htm
例。
#include <iostream>
#include <string>
#include <boost/tokenizer.hpp>
int main()
{
std::string str = "hello, and what do. you? want";
typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
boost::char_separator<char> sep("", " ,.?");
tokenizer tokens(str, sep);
for (tokenizer::iterator pos = tokens.begin(); pos != tokens.end(); ++pos)
{
std::cout << *pos << std::endl;
}
}
http://liveworkspace.org/code/8dca20ecaa017000dd67096fc5d20aeb
于 2012-08-31T06:16:30.250 に答える