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

博客介绍了一种用Boost库批分字符串的简单办法。批分规则是电话号码等可用分号、逗号、中文分号、中文逗号分隔,也可混合使用。借助boost库的tokenizer能轻松实现这种批分,并给出了批分代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[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());

       }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值