오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-20 00:00
관리 메뉴

우노

[C++] 문자열 공백 제거 본문

Language/C++

[C++] 문자열 공백 제거

운호(Noah) 2021. 7. 5. 17:17

C++ 문자열 공백 제거

  • C++ 의 문자열 공백 제거는 아래 함수를 사용해 진행할 수 있다.
    • std::remove (부분 STL 알고리즘 라이브러리)
    • std::erase (대부분의 STL 컨테이너에 대한 내장 함수)
  • std::remove 함수는 문자열 내의 공백을 검색해서 지우지만, 길이가 그대로 유지된다.
    • 첫 번째와 두 번째 매개변수는, 문자를 제거할 범위를 의미하고
    • 세 번째 매개변수는, 제거할 문자를 의미한다.
  • 따라서, std::erase 함수를 이용해서, 비어있는 문자열까지 삭제해야한다.
    • 첫 번째와 두 번째 매개변수는, 문자를 제거할 범위를 의미한다.

예제 코드

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main(void){

    string st = " a b c d ";

    // 좌측 공백 제거
    st.erase(st.begin());
    cout << st << endl;

    // 우측 공백 제거
    st.erase(st.end());
    cout << st << endl;

    // 전체 공백 제거
    st.erase(remove(st.begin(), st.end(), ' '), st.end());
    cout << st << endl;

}

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

[C++] Pair 사용법  (0) 2021.07.14
[C++] Queue 사용법  (0) 2021.07.13
[C++] cin 을 사용하여, 입력을 공백 분리해 저장하는 방법  (0) 2021.07.06
[C++] #include <stdlib.h> 란?  (0) 2021.06.29
[C++] #include <stdio.h> 란?  (0) 2021.06.28
Comments