boost::algorithm

トップページ > 文字列 >

abstract

必要なヘッダ
<boost/algorithm/string.hpp>
出来ること
文字列処理
リファレンス
en

sample

サンプルの動作確認バージョン [GCC4.4/1.41.0] [VC9/1.41.0]

#include <iostream>
#include <string>
#include <vector>
#include <boost/algorithm/string.hpp>
using namespace std;

int main()
{
	string message = "This is a pen";

	// 文字列messageを空白文字で区切ってvに格納
	vector<string> v;
	boost::algorithm::split( v, message, boost::algorithm::is_space() );

	// vの要素を"-"で結合して表示
	cout << boost::algorithm::join( v, "-" ) << endl;
}

出力例

This-is-a-pen

etc

文字列処理関数を色々集めたライブラリです。文字列を配列に分割したり結合したりする split, joinや、部分文字列を含むかどうか検査するstarts_withやends_withやfind_*他 便利関数いろいろ。 ひとつひとつの関数は std::string のメソッドやSTLのアルゴリズムを組み合わせて直接実現できなくもないんですが、 関数としてまとまってると便利ですね。

あと、Range の考え方を使って構成されたライブラリだという点にも注目です。 検索系アルゴリズムの結果がRangeで返されるので、検索結果に対してさらに処理を適用する場合などに便利。

presented by k.inaba (kiki .a.t. kmonos.net) under CC0