trim

/*
    trim from start
*/
string& ltrim(string &s)
{
    s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
    return s;
}

/*
    trim from end
*/
string& rtrim(string &s)
{
    s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
    return s;
}

/*
    trim start and end
*/
string& trim(string &s)
{
    return ltrim(rtrim(s));
}

猜你喜欢

转载自xiangjie88.iteye.com/blog/2211082