[C++] 문자열 앞뒤 공백 제거 방법 ( Boost 라이브러리 안 씀 )

2021. 3. 30. 13:03 기타/C++

 

Boost 라이브러리를 사용하지 않고 문자열 앞뒤 공백 제거할 수 있는 방법을 발견했다. 

고마워요 스택오버플로우

// trim from left
inline std::string& ltrim(std::string& s, const char* t = " \t\n\r\f\v")
{
    s.erase(0, s.find_first_not_of(t));
    return s;
}

// trim from right
inline std::string& rtrim(std::string& s, const char* t = " \t\n\r\f\v")
{
    s.erase(s.find_last_not_of(t) + 1);
    return s;
}

// trim from left & right
inline std::string& trim(std::string& s, const char* t = " \t\n\r\f\v")
{
    return ltrim(rtrim(s, t), t);
}

// copying versions

inline std::string ltrim_copy(std::string s, const char* t = " \t\n\r\f\v")
{
    return ltrim(s, t);
}

inline std::string rtrim_copy(std::string s, const char* t = " \t\n\r\f\v")
{
    return rtrim(s, t);
}

inline std::string trim_copy(std::string s, const char* t = " \t\n\r\f\v")
{
    return trim(s, t);
}

 

출처 : https://stackoverflow.com/questions/1798112/removing-leading-and-trailing-spaces-from-a-string



출처: https://engkimbs.tistory.com/630?category=688856 [새로비]

'기타 > C++' 카테고리의 다른 글

c++ 11  (0) 2021.04.11
[C++] 문자열(string)에서 double형으로  (0) 2021.03.30
[C++] 문자열 뒤집기  (0) 2021.03.30
[C++] 오버플로우(Overflow) 체크방법  (0) 2021.03.30
[C++] namespace, FQN(fully Qualified Name)  (0) 2021.03.30
[C++] constexpr  (0) 2021.03.30
[C++] Header File (헤더 파일)  (0) 2021.03.30
[C++] 스마트포인터  (0) 2021.03.30