C++去掉字符串中首尾空格和所有空格

c++去掉首尾空格是参考一篇文章的,但是忘记文章出处了,就略过吧。

去掉首尾空格的代码如下:

复制代码
 1 void trim(string &s)
 2 {
 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 }
复制代码

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

复制代码
 1 void trim(string &s)
 2 {
 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     }
18 
19 }
复制代码

测试代码如下:

复制代码
 1 int main()
 2 {
 3    
 4     cout << "-------------------------------------" << endl;
 5 
 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;
10 
11     cout << "-------------------------------------" << endl;
12 
13     return 0;
14 }
复制代码

结果如下图:

 

posted on 2018-07-02 12:20  woodsp  阅读(318)  评论(0)    收藏  举报

导航