5 { 6 s.erase(0,s.find_first_not_of(" ")); 7 s.erase(s.find_last_not_of(" ") + 1); 8 }

去掉字符串中所有空格的代码如下:

 1 void trim(string &s)
 3     /*
 4     if( !s.empty() )
 5     {
 6         s.erase(0,s.find_first_not_of(" "));
 7         s.erase(s.find_last_not_of(" ") + 1);
 8     }
 9     */
10     int index = 0;
11     if( !s.empty())
12     {
13         while( (index = s.find(' ',index)) != string::npos)
14         {
15             s.erase(index,1);
16         }
17     }

测试代码如下:

 1 int main()
 4     cout << "-------------------------------------" << endl;
 6     string pri = "  7ter   09, jdhfd iere*- ddw     jjdjjdj     ";
 7     cout << "private string is : \"" << pri << "\"" << endl;
 8     trim(pri);
 9     cout << "after string is : \"" << pri << "\"" << endl;
11     cout << "-------------------------------------" << endl;
13     return 0;

结果如下图: