Guest User

Untitled

a guest
Apr 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1.     template<typename T>
  2.     inline std::basic_string<T>& trim_right(std::basic_string<T>& source)
  3.     {
  4.         std::locale loc;
  5.  
  6.         // Supprime les caractères entre le dernier caractère non espace et la fin de la chaine
  7.         source.erase(std::find_if(source.rbegin(), source.rend(), [&loc] (char c){ return !isspace(c, loc); }).base(), source.end());
  8.         return source;
  9.     }
  10.  
  11.     template<typename T>
  12.     inline std::basic_string<T>& trim_left(std::basic_string<T>& source)
  13.     {
  14.         std::locale loc;
  15.  
  16.         // Supprime les caractères entre le dabut de la chaine et le premier caractère non espace
  17.         source.erase(source.begin(), std::find_if(source.begin(), source.end(), [&loc] (char c){ return !isspace(c, loc); }));
  18.         return source;
  19.     }
  20.  
  21.     template<typename T>
  22.     inline std::basic_string<T>& trim_both(std::basic_string<T>& source)
  23.     {
  24.         trim_right(source);
  25.         trim_left(source);
  26.         return source;
  27.     }
Add Comment
Please, Sign In to add comment