Monday, April 6, 2015

C++ string trim() 구현

std::string은 trim() 함수를 자체적으로 지원하지 않는다. 따라서 아래의 코드는 left, right trim을 한방에 해주는 코드이다.

std::string trim(const std::string& s)
{
   if(s.length() == 0)
       return s;

   std::size_t beg = s.find_first_not_of(" \a\b\f\n\r\t\v");
   std::size_t end = s.find_last_not_of(" \a\b\f\n\r\t\v");
   if(beg == std::string::npos) // No non-spaces
       return "";

   return std::string(s, beg, end - beg + 1);
}

1 comment: