boost::trim
提供: C++入門
スポンサーリンク
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]
関連項目
ツイート
スポンサーリンク