기타/C++ 문법

<erase> 문자열 지우기

배발자 2022. 1. 20.

목차

    반응형

    문자열에서 어떠한 특정 인덱스에 위치한 하나의 값만 지우고 싶을 때나 여러개의 문자를 지울 때 쓰인다. 

     s.begin() + 3 : 문자열 s의 인덱스 3번 

     s.erase(s.begin() + 3, s.begin()+4) : 문자열 s의 인덱스 3번부터 인덱스 4번 까지 지우기  

    
      
    #include <string>
    #include <iostream>
    using namespace std;
    int main() {
    string s = "123456";
    s.erase(s.begin() + 3, s.begin()+4);
    cout << s<<"\n";
    s.erase(s.begin());
    cout << s;
    }

    <erase> 문자열 지우기

    또한, s.begin()을 사용하지 않고 사용하는 방법도 있다. 

    s.erase(3) : 문자열 s 인덱스 3번부터 끝까지 다 지워라 

    s.erase(3,3) : 문자열 s 인덱스 3번부터 3개의 문자를 지워라

    
      
    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    string s = "himynameis";
    cout << " 인덱스 번호 \n";
    for (int i = 0; i < s.size(); i++)
    cout << i << " "; cout << "\n";
    for (int i = 0; i < s.size(); i++)
    cout << s[i] << " "; cout << "\n";
    s.erase(3);
    cout << s;
    s = "himynameis";
    s.erase(3, 3);
    cout << endl;
    cout << s;
    }

    <erase> 문자열 지우기

     

    반응형

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

    <lower_bound, upper_bound> 정렬된 공간에서 이진 탐색  (0) 2022.01.21
    <unordered_map> 자료구조  (0) 2022.01.21
    <erase/insert> 삭제 및 삽입  (0) 2022.01.20
    <vector> 반환값  (0) 2022.01.20
    <resize> 벡터 초기화  (0) 2022.01.19

    댓글