[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
함수는 간단하고 효율적으로 사용할 수 있는 방법 중 하나입니다.