끈 find는 호출되는 지정된 문자열에서 하위 문자열이 처음 나타나는 것을 찾는 데 사용됩니다. 주어진 시작 위치에서 문자열의 하위 문자열이 처음 나타나는 인덱스를 반환합니다. 시작 위치의 기본값은 0입니다.
의 멤버 함수입니다. 표준::문자열 수업.
통사론:
해시테이블 대 해시맵
size_t find (const string& str, size_t pos = 0); // for C++ Style Strings or size_t find (const char* s, size_t pos = 0); // for C-Style Strings>
매개변수:
- str : 검색할 하위 문자열입니다. s : C 스타일 문자열로 제공되는 검색할 하위 문자열입니다. pos : 문자열 검색을 시작할 초기 위치입니다.
반환 값:
- 이 함수는 하위 문자열이 처음 나타나는 인덱스를 반환합니다.
- 하위 문자열을 찾을 수 없으면 string::npos를 반환합니다(string::pos는 size_t 데이터 유형에 대해 가능한 가장 높은 값을 갖는 정적 멤버입니다).
복잡성 분석:
- 시간 복잡도: O(N*M), 여기서 N은 문자열(str)의 크기이고 M은 검색할 부분 문자열의 크기입니다. 보조 공간: O(1)
예:
C++
// C++ program to demonstrate> // working of string.find()> #include> #include> using> namespace> std;> // Driver code> int> main()> {> >string str =>'geeksforgeeks a computer science'>;> >string str1 =>'geeks'>;> > >// Find first occurrence of 'geeks'> >size_t> found = str.find(str1);> >if> (found != string::npos)> >cout <<>'First occurrence is '> <<> >found << endl;> > >// Find next occurrence of 'geeks'.> >// Note here we pass> >// 'geeks' as C style string.> >char> arr[] =>'geeks'>;> >found = str.find(arr, found+1);> >if> (found != string::npos)> >cout <<>'Next occurrence is '> <<> >found << endl;> >return> 0;> }> |
>
>산출
First occurrence is 0 Next occurrence is 8>
문자 발생 찾기
find 함수를 사용하여 문자열에서 단일 문자의 발생을 찾을 수도 있습니다.
통사론:
size_t find (const char c, size_t pos = 0);>
여기, 씨 검색할 문자입니다.
예:
제나 아만 배우
C++
// C++ program to demonstrate> // working of string find> // to find occurrence of> // a character> #include> #include> using> namespace> std;> // Driver code> int> main()> {> >string str =>'geeksforgeeks a computer science'>;> >char> c =>'g'>;> >// Find first occurrence of 'g'> >size_t> found = str.find(c);> >if> (found != string::npos)> >cout <<>'First occurrence is '> <<> >found << endl;> > >// Find next occurrence of 'g'> >found = str.find(c, found + 1);> >if> (found != string::npos)> >cout <<>'Next occurrence is '> <<> >found << endl;> >return> 0;> }> |
>
>산출
SDLC 수명주기
First occurrence is 0 Next occurrence is 8>
부분 문자열 검색
주어진 문자열의 일부를 검색할 수도 있습니다.
통사론:
size_t find (const char *str, size_t pos, size_t n);>
여기, N 일치하는 문자 수입니다.
예:
C++
// C++ program to demonstrate> // working of string find to> // search a string> #include> #include> using> namespace> std;> // Driver code> int> main()> {> >string str =>'geeksforgeeks a computer science'>;> > >// Only search first 5 characters> >// of 'geeks.practice'> >size_t> found = str.find(>'geeks.practice'>,> >0, 5);> >if> (found != string::npos)> >cout << found << endl;> >return> 0;> }> |
>
블록 자바를 잡아보세요
>산출
0>