首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 一种简单的批分字符串的办法
【标  题】:一种简单的批分字符串的办法
【关键字】:字符,字符串
【来  源】:网络

一种简单的批分字符串的办法

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

  批分的具体规则:

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

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

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

  中文分号,如:1391067;62963,或者1391067;629637;。

  中文逗号,如:1391067,62963,或者1391067,629617,。

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

  1391067,6617;62980;1234,5678;9900,0099;

。诸如此类。

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

  批分代码:

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

...

std::string _sTokenFaxNumber("629780;010620,01091293;1234,5678;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());

       }

高质量C++编程点滴(二):【上一篇】
Linux下扬声器发声的小程序:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • VS2005 控件演示之 容器《Panel》
  • 程序员应聘应该注意的几个问题
  • 和luster一起学习在linux下使用汇编语言(5)
  • 创建vg时需要注意的一个地方:指定max_pe(-e)的数量及pe_size(-s)
  • 使用Hibernate进行对象的关系映射(1)
  • 让我们一起来对VSTS扩展开发吧------制作自己的VSTS模版----第四节 VSTS团队项目的真删除
  • PHP4的新函数介绍 - 输出信息控制函数
  • 关于AO的一些短小心得
  • VC6如何取消/GS编译选项
  • 部署ASP.NET(包含.net framework 和MDAC)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.