「boost::trim」の版間の差分
提供: C++入門
細 (Daemon がページ「Boost trim」を「Boost::trim」に、リダイレクトを残さずに移動しました) |
|||
(同じ利用者による、間の1版が非表示) | |||
行166: | 行166: | ||
== 関連項目 == | == 関連項目 == | ||
− | * [[boost split]] | + | * [[boost::split]] |
* [[boost]] | * [[boost]] | ||
* [[C++ライブラリ]] | * [[C++ライブラリ]] |
2013年3月23日 (土) 16:37時点における最新版
Boost String Algorithms Library の boost::trim の使い方です。
読み方
- trim
- とりむ
目次
概要
C++ 標準ライブラリの std::string の機能が貧弱であるため、 Boost String Algorithms Library で補います。
boost::trim は、文字列の前後の文字を除去できます。
たとえば、文字列の前後に空白があるときに、空白を取り除くといった処理で利用できます。
" foo " -> "foo"
ヘッダファイル
#include <boost/algorithm/string.hpp>
空白を取り除く例
ソースコード
boost_trim.cpp
#include <string> #include <iostream> #include <boost/algorithm/string.hpp> int main (int argc, char *argv[]) { std::string s(" foooo "); boost::trim (s); std::cout << "[" << s << "]" << std::endl; return (0); }
コンパイル
g++ -I/usr/local/include boost_trim.cpp
実行例
% ./a.out [foooo]
文字列の前後の複数の種類の文字を取り除く例
ソースコード
boost_trim_if.cpp
#include <string> #include <iostream> #include <boost/algorithm/string.hpp> int main (int argc, char *argv[]) { std::string s("(foooo)"); boost::trim_if (s, boost::is_any_of("()") ); std::cout << "[" << s << "]" << std::endl; return (0); }
コンパイル
g++ -I/usr/local/include boost_trim_if.cpp
実行例
% ./a.out [foooo]
さまざまな文字を取り除く例
ソースコード
文字列の前後にいろいろな文字を含めてみます。
boost_trim_if2.cpp
#include <string> #include <iostream> #include <boost/algorithm/string.hpp> int main (int argc, char *argv[]) { std::string s("( **#foooo**#) "); boost::trim_if (s, boost::is_any_of("()*# ") ); std::cout << "[" << s << "]" << std::endl; return (0); }
コンパイル
g++ -I/usr/local/include boost_trim_if2.cpp
実行例
このように、boost::is_any_of で指定した文字が除去されました。
[foooo]