ITPub博客

首页 > 应用开发 > IT综合 > [Boost]一种简单的批分字符串的办法 (转)

[Boost]一种简单的批分字符串的办法 (转)

原创 IT综合 作者:amyz 时间:2007-11-13 11:01:42 0 删除 编辑
[Boost]一种简单的批分字符串的办法 (转)[@more@]

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

批分的具体规则:

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

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

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

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

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

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

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

。诸如此类。

 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

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

批分代码:

#include
#include

...

std::string _sTokenFaxNumber("629780;010620,01091293;1234,5678;8989"); 

  typedef boost::tokenizer >

  tokenizer;

 

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

  boost::char_separator 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());

  }

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-982081/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论