#include <string> #include <algorithm> #include <functional> #include <cctype> std::string trim(const std::string& s) { std::string::const_iterator left = std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::isspace))); std::string::const_reverse_iterator right = std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(std::isspace))); return (left < right.base()) ? std::string(left, right.base()) : std::string(); } std::string trimRight(const std::string& s) { return std::string(s.begin(), std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(std::isspace))).base()); } std::string trimLeft(const std::string& s) { return std::string(std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::isspace))), s.end()); }
「strip」という名前のほうが一般的なのかな?わたしはDelphi育ちなもので。