C++ 实现去掉string字符串前后的空白字符


C++标准库提供的字符串类string没有提供类似CString中Trim方法,该方法功能为去除字符串前后的空白字符。利用string自身一些方法可以很容易实现该功能。

如下:

1 void Trim(string & str)
2 {
3     string blanks("\f\v\r\t\n ");
4     str.erase(0,str.find_first_not_of(blanks));
5     str.erase(str.find_last_not_of(blanks) + 1);
6 }

 测试如下:

1 int _tmain(int argc, _TCHAR* argv[])
2 {
3     string s1("\t   string  ");
4     cout << "[" << s1 << "]" << endl;
5     Trim(s1);
6     cout << "After Trim:\n";
7     cout << "[" << s1 << "]" << endl;
8     return 0;
9 }