Home C++ 특정 범위 문자열 출력
Post
Cancel

C++ 특정 범위 문자열 출력

C++을 사용하다보면 문자열을 특정 문자열의 문자열만 출력하고 싶은 경우가 있다 이번 글에선 문자열의 특정 범위를 출력하는 법에 대해 알아볼 것이다

substr 메서드 사용하기

문자열의 특정 범위를 출력하는 방법은 크게 세 가지가 있는데 첫 번째로는 std::string 클래스의 substr 메서드를 사용해서 출력하는 방법을 알아볼 것이다

1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, World!";
    std::string part = str.substr(0, 5);  // "Hello"만 추출
    std::cout << part << std::endl; // "Hello" 출력

    return 0;
}

위와 같이 문자열에 substr 메서드를 사용하면 되는데 substr 메서드의 사용법은 시작 인덱스와 끝 인덱스+1을 넣어주면

해당 범위에 문자열이 추출된다

문자열을 순회하기

두 번째 방법은 문자열을 순회하여 출력하는 방법으로 반복문을 사용해서 출력할 수 있다

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, World!";
    
    for (int i = 0; i < 5; ++i) { // 첫 5글자만 출력
        std::cout << str[i];
    }
    std::cout << std::endl;

    return 0;
}

위 코드처럼 반복문으로 문자열에 추출하고 싶은 특정 범위를 설정한 뒤 문자열에 인덱스로 접근하여 문자만 추출한 뒤 차례 차례 출력하는 방법으로 특정 범위의 문자열을 추출할 수 있다

erase 메서드 사용하기

잘 사용되는 방식은 아니지만 erase 메서드를 사용해서 출력하는 방법도 있다 erase 메서드는 특정 범위를 지우는 메서드로 시작 위치와 시작으로부터 지울 문자의 수를 넣으면 된다 이를 응용하면

1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, World!";
    
    std::cout << str.erase(5, 8) << std::endl;

    return 0;
}

이렇게 Hello를 출력할 수 있다

This post is licensed under CC BY 4.0 by the author.

12월 3일 Today I Learned

12월 4일 Today I Learned