VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
[Boost]一种简单的批分字符串的办法

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

一个小技巧,权当对Great Boost的致敬。

批分的具体规则:

电话号码或者其他的什么,都可以以下列四种符号分隔:

u       分号,如:1391067;62963517,或者1391067;62963;

u       逗号,如:1391067,62963517,或者1391067,62963,

u       中文分号,如:139106762963,或者1391067629637;。

u       中文逗号,如:139106762963,或者1391067629617,。

也可以混合这四种符号,如:

1391067,6617;62980123456789900,0099

。诸如此类。

 

这种方式的批分,可以用boost库的tokenizer很容易的做到。

批分代码:

#include <boost/tokenizer.hpp>
#include <string>

...

std::string _sTokenFaxNumber("629780;010620,0109129312345678;8989");      

       typedef boost::tokenizer<boost::char_separator<char> >

                            tokenizer;

   

    // 批发的分隔符号,枚举各种符号:

       boost::char_separator<char> sep(";,;,");

       tokenizer tokens(_sTokenFaxNumber, sep);

       tokenizer::const_iterator itBegin  = tokens.begin();

       tokenizer::const_iterator itEnd    = tokens.end();

       tokenizer::iterator       tok_iter;

       for (tok_iter = itBegin;

               tok_iter != itEnd;

               ++tok_iter)

       {

              _bstr_t bstrSingleFax((*tok_iter).c_str());

       }

 




相关文章

相关软件