STL 활용 - trim 구현

코드 테스트를 해보겠습니다.

#include <algorithm> 
#include <cctype>

inline  auto    isnt_space( const char c )
{
    return  !std::isspace( c );
}

inline  auto    after_space( const std::string& s )
{
    return  std::find_if( s.begin(), s.end(), isnt_space );
}

inline  auto    before_space( const std::string& s )
{
    return  std::find_if( s.rbegin(), s.rend(), isnt_space ).base();
}

inline  auto    ltrim( const std::string& s )
{
    return  std::string( after_space( s ), s.end() );
}

inline  auto    rtrim( const std::string& s )
{
    return  std::string( s.begin(), before_space( s ) );
}

inline  auto    trim( const std::string& s )
{
    auto    l   = after_space( s );
    auto    r   = before_space( s );
    return  std::string( l > r ? r : l, r );
}
3 Likes

백코트세개로
아래위표시 합니다


#include <algorithm> 
#include <cctype>

inline  auto    isnt_space( const char c )
{
    return  !std::isspace( c );
}

inline  auto    after_space( const std::string& s )
{
    return  std::find_if( s.begin(), s.end(), isnt_space );
}

inline  auto    before_space( const std::string& s )
{
    return  std::find_if( s.rbegin(), s.rend(), isnt_space ).base();
}

inline  auto    ltrim( const std::string& s )
{
    return  std::string( after_space( s ), s.end() );
}

inline  auto    rtrim( const std::string& s )
{
    return  std::string( s.begin(), before_space( s ) );
}

inline  auto    trim( const std::string& s )
{
    auto    l   = after_space( s );
    auto    r   = before_space( s );
    return  std::string( l > r ? r : l, r );
}

그후에통때로복사

Blockquote
이건뭘까

켜켜켜 맥에선 백쿼트가 원화로 표시되어서리 잠시 헤맴

코드하이라이터는
쓸만한거같은데
줄번호나그런거보여주는
플러그인이없나

폰트가 째매 크네. 역시 모바일 지향인가 봄.

뭐 잡다한 설정이 많은듯

BB code 
Baby
#56678

왠지 모르게 코드가 세련되게 느껴져요 ㄷㄷ
(본인 나무위키 보고 옴)

1 Like

오랜만에 코드 올리신줄 알았는데 2년전 글이었다니…

2 Likes