程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> VC++ >> 一種簡單的批分字符串的辦法

一種簡單的批分字符串的辦法

編輯:VC++

  一個小技巧,權當對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());

       }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved