String 변수를 사용하다 보면, 문자열을 이리 바꾸고 저리 바꾸고 이래저래 조작을 해야 하는 경우가 많다.
그럴때 쉽게 사용할 수 있는 몇 가지 팁을 남겨놓도록 하자.
생각날 때 마다 하나씩 계속 추가해 나가자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // LTrim sRet.erase(0, sRet.find_first_not_of(' ')); // 앞 // RTrim sRet.erase(sRet.find_last_not_of(' ') + 1); // 뒤 // \n \r \t 를 빈칸(' ')으로 변경 std::replace_if(sRet.begin(), sRet.end(), [](char c) { return (c == '\r' || c == '\n' || c == '\t'); }, ' '); // 연속된 Space를 하나로 변경 std::string::iterator new_end = std::unique(sRet.begin(), sRet.end(), [=](char lhs, char rhs) { return (lhs == rhs) && (lhs == ' '); }); sRet.erase(new_end, sRet.end()); |
'Language Proficiency > C++' 카테고리의 다른 글
Maps-STL (0) | 2018.07.31 |
---|---|
Variable Sized Arrays (0) | 2018.07.31 |
std::chrono의 time_point를 문자열로 변환하기 (0) | 2018.07.27 |
날짜시간(YYYYMMDDHHMMSS) 문자열을 chrono의 time_point로 변환하기 (0) | 2018.07.27 |
std::thread의 thread_id를 문자 변환 (0) | 2018.07.27 |