逝水流年

This is a blog to record my life, my work, my feeling …

STL之Trim

今天无意之间看到了通用类的三个函数,是用STL实现字符串去掉首尾空格,方法用的颇为简洁,记录下来分享和学习下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <string>;
#include <algorithm>;

using namespace std;

string&  lTrim(string   &ss)
{
    string::iterator   p=find_if(ss.begin(),ss.end(),not1(ptr_fun(isspace)));
    ss.erase(ss.begin(),p);
    return  ss;
}

string&  rTrim(string   &ss)
{
    string::reverse_iterator  p=find_if(ss.rbegin(),ss.rend(),not1(ptr_fun(isspace)));
    ss.erase(p.base(),ss.end());
    return   ss;
}

string&   trim(string   &st)
{
    lTrim(rTrim(st));
    return   st;
}

Comments