有的时候需要取一个字符串中的单词,中间有可能有许多不同的分割字符,不方便使用split函数。这时候我们就可以使用Boost里的Tokenizer来对字符串里的单词进行分割。 示例如下: #include<iostream> #include<boost/tokenizer.hpp> #include<string> int main(){ using namespace std; using namespace boost; string s = "This is, -a /test"; tokenizer<> tok(s); for(tokenizer<>::iterator beg=tok.begin(); beg!=tok.end();++beg){ cout << *beg << endl; } // This is a test wstring ss = L"test 123 ad_adf"; typedef tokenizer<char_delimiters_separator<wchar_t>, wstring::const_iterator, wstring> Tokenizer; Tokenizer tok2(ss); for (Tokenizer::iterator itr = tok2.begin(); itr != tok2.end(); ++itr) { wcout << *itr << endl; } // test 123 ad adf }