[c++] 문자열에서 특정 문자 집합으로부터의 첫 번째 인덱스 찾기

문자열에서 특정 문자 집합으로부터의 첫 번째 인덱스를 찾는 것은 종종 필요한 작업입니다. C++에서는 다양한 방법으로 이를 수행할 수 있습니다. 대표적인 방법 중 하나를 살펴보겠습니다.

std::string과 find_first_of 함수 사용

std::string 클래스의 find_first_of 함수를 사용하여 특정 문자 집합으로부터의 첫 번째 인덱스를 찾을 수 있습니다. 이 함수는 문자열에서 지정된 문자 집합 중 하나의 문자를 찾아 그 인덱스를 반환합니다.

#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, world!";
    std::string charsToSearch = ",!";

    size_t found = str.find_first_of(charsToSearch);
    if (found != std::string::npos) {
        std::cout << "첫 번째 특정 문자 집합으로부터의 인덱스: " << found << std::endl;
    } else {
        std::cout << "특정 문자 집합에서 문자를 찾을 수 없습니다." << std::endl;
    }

    return 0;
}

위의 코드에서 find_first_of 함수는 charsToSearch 문자열에 포함된 문자 중 하나str에서 찾아 해당 인덱스를 반환합니다.

다른 방법

다른 방법으로는 std::string 클래스의 find_first_not_of 함수를 사용하여 특정 문자 집합으로부터의 처음으로 나오지 않는 문자의 인덱스를 찾을 수도 있습니다.

C++에서 문자열에서 특정 문자 집합으로부터의 첫 번째 인덱스를 찾는 다양한 방법이 있지만, find_first_of 함수는 간단하고 효율적으로 사용할 수 있는 방법 중 하나입니다.

참고 자료