반응형
// 앞에 있는 화이트 스페이스 문자 제거
std::string& MOONG::StringTool::trim_left(std::string& input)
{
if(input.length() == 0)
{
return input;
}
size_t index = 0;
for(size_t i = 0; i < input.length(); i++)
{
if(input.at(i) != ' ' && input.at(i) != '\t' && input.at(i) != '\n' && input.at(i) != '\r\n')
{
index = i;
break;
}
}
input.erase(0, index);
return input;
}
// 뒤에 있는 화이트 스페이스 문자 제거
std::string& MOONG::StringTool::trim_right(std::string& input)
{
if(input.length() == 0)
{
return input;
}
size_t index = 0;
for(size_t i = input.length() - 1; i >= 0; i--)
{
if(input.at(i) != ' ' && input.at(i) != '\t' && input.at(i) != '\n' && input.at(i) != '\r\n')
{
index = i + 1;
break;
}
}
input.erase(index);
return input;
}
// 양쪽 끝의 화이트 스페이스 문자 제거
std::string& MOONG::StringTool::trim(std::string& input)
{
return trim_left(trim_right(input));
}
// trim from start (copying)
std::string MOONG::StringTool::trim_left_keep_origin(std::string input)
{
return MOONG::StringTool::trim_left(input);
}
// trim from end (copying)
std::string MOONG::StringTool::trim_right_keep_origin(std::string input)
{
return MOONG::StringTool::trim_right(input);
}
// trim from both ends (copying)
std::string MOONG::StringTool::trim_keep_origin(std::string input)
{
return MOONG::StringTool::trim(input);
}
반응형
'C++ > Reference' 카테고리의 다른 글
[C++] dbgView 출력, OutputDebugString 함수 printf 함수처럼 사용 (0) | 2024.12.09 |
---|---|
Google C++ Style Guide (0) | 2024.12.08 |