去除字串中的空白

去除字串中的空白

   1: namespace StringPlus
   2: {
   3:     /// Remove space chars of left side.
   4:     std::string TrimLeft(const std::string& szParam, char symbol=' ')
   5:     {
   6:         if(szParam.size()==0)
   7:             return szParam;
   8:     
   9:         if(szParam[0]!=symbol)
  10:             return szParam;
  11:     
  12:         int _end = szParam.find_first_not_of(symbol);
  13:         if(_end==std::string::npos)    
  14:             _end=szParam.size();
  15:         
  16:         std::string _szParam(szParam);
  17:         _szParam.erase(_szParam.begin(), _szParam.begin()+_end);
  18:         return _szParam;
  19:     }
  20:     
  21:     /// Remove space chars of right side.
  22:     std::string TrimRight(const std::string& szParam, char symbol=' ')
  23:     {
  24:         if(szParam.size()==0)
  25:             return szParam;
  26:     
  27:         if(szParam[szParam.size()-1]!=symbol)
  28:             return szParam;
  29:     
  30:         int _str = szParam.find_last_not_of(symbol);
  31:         if(_str==std::string::npos)    
  32:             _str=-1;
  33:     
  34:         std::string _szParam(szParam);
  35:         _szParam.erase(_szParam.begin()+1+_str, _szParam.end());
  36:         return _szParam;
  37:     }
  38:     
  39:     /// Remove whole space chars.
  40:     std::string Trim(const std::string& szParam, char symbol=' ')
  41:     {
  42:         std::string _rc1 = TrimLeft(szParam, symbol);
  43:         std::string _rc2 = TrimRight(_rc1, symbol);
  44:         return _rc2;
  45:     }
  46: }