C++ 去掉string字串中首尾空格和所有空格
阿新 • • 發佈:2019-02-13
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 }
結果如下圖: