boost之algorithm
阿新 • • 發佈:2020-11-06
algorithm
boost中將一些小的演算法集中到該庫,主要是一些字串處理演算法,字串的方法需引入#include <boost/algorithm/string.hpp>
大小寫轉換
小寫跟大寫一樣,就不寫了:
template<typename WritableRangeT> inline void to_upper( WritableRangeT& Input, const std::locale& Loc=std::locale() ) template<typename SequenceT> inline SequenceT to_upper_copy( const SequenceT& Input, const std::locale& Loc=std::locale() )
trim
copy字尾版本就不寫了:
template<typename SequenceT> inline void trim_left(SequenceT& Input, const std::locale& Loc=std::locale()) template<typename SequenceT> inline void trim_right(SequenceT& Input, const std::locale& Loc=std::locale()) template<typename SequenceT> inline void trim(SequenceT& Input, const std::locale& Loc=std::locale())
split
#include <boost/algorithm/string.hpp> int main(int argc, char const *argv[]) { std::vector<std::string> tokens; boost::split(tokens, "12 34", boost::is_any_of(" "), boost::token_compress_on); for (auto& t : tokens) { std::cout << "[" << t << "]" << std::endl; } return 0; }
忽略大小寫判斷
template<typename Range1T, typename Range2T>
inline bool iequals(
const Range1T& Input,
const Range2T& Test,
const std::locale& Loc=std::locale()
)
template<typename Range1T, typename Range2T>
inline bool istarts_with(
const Range1T& Input,
const Range2T& Test,
const std::locale& Loc=std::locale()
)
template<typename Range1T, typename Range2T>
inline bool iends_with(
const Range1T& Input,
const Range2T& Test,
const std::locale& Loc=std::locale()
)
template<typename Range1T, typename Range2T>
inline bool icontains(
const Range1T& Input,
const Range2T& Test,
const std::locale& Loc=std::locale()
)
replace
template<typename SequenceT, typename Range1T, typename Range2T>
inline void replace_first(
SequenceT& Input,
const Range1T& Search,
const Range2T& Format )
template<typename SequenceT, typename Range1T, typename Range2T>
inline void replace_last(
SequenceT& Input,
const Range1T& Search,
const Range2T& Format )
template<typename SequenceT, typename Range1T, typename Range2T>
inline void replace_all(
SequenceT& Input,
const Range1T& Search,
const Range2T& Format )