1. 程式人生 > >C++ 去掉string字串中首尾空格和所有空格

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

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 }

結果如下圖: