用boost分割字符串的代码示例

来源:互联网 发布:网络验证系统免费 编辑:程序博客网 时间:2024/05/18 11:49
<pre name="code" class="cpp">#include "stdafx.h"#include <iostream>#include <boost/tokenizer.hpp>#include <boost/regex.hpp>/*测试环境[1]VS2010SP1,boost 1.55*/void testTokenizer(){std::wstring str = L"abc,def gul,中文,古 典,答辩";typedef boost::tokenizer<boost::char_separator<wchar_t>, std::wstring::const_iterator, std::wstring> Token;//分隔符可以有多个比如sep(" ,:"),这样空格、逗号肯分号,分别都//可以用来分隔字符串boost::char_separator<wchar_t> sep(L",");Token tok(str,sep); for (Token::iterator it = tok.begin(); it != tok.end(); ++it) {std::wcout << *it << std::endl;}}bool isInteger(std::wstring wstr){boost::basic_regex<wchar_t, boost::regex_traits<wchar_t> >expr(L"^[1-9]\\d*$");if (boost::regex_match(wstr.c_str(),expr)){return true;}return false;}int _tmain(int argc, _TCHAR* argv[]){testTokenizer();assert( isInteger(std::wstring(L"101")) ==true );assert( isInteger(std::wstring(L"10.1"))==false );return 0;}


                                             
0 0