새소식

반응형
Programming Language/Python

[Python] 파이썬 find 함수 사용하기

  • -
반응형

오늘은 파이썬에서 문자열에서 특정 문자 혹은 문자열을 찾을 때 사용되는 find 함수에 대해 알아보는 시간을 가져보자.
 
 


find() 함수는 문자열에서 특정 부분 문자열(substring)을 찾고, 해당 부분 문자열이 처음으로 등장하는 인덱스를 반환하는 메서드이다. 이 함수는 문자열의 메서드로 사용되며, 다음과 같은 형식을 갖는다.

문자열.find(substring, start, end)

 

매개변수역할
문자열부분 문자열을 찾을 대상 문자열
substring찾고자 하는 부분 문자열
start(선택적)검색을 시작할 문자열 내의 인덱스를 나타내며, 기본값은 0이다. 이 매개변수를 사용하면 특정 위치부터 검색을 시작할 수 있다.
end(선택적)검색을 종료할 문자열 내의 인덱스를 나타내며, 기본값은 문자열의 끝가지 검색한다. 이 매개변수를 사용하면 검색 범위를 제한할 수 있다.

 
 


text = "Hello, World!" index = text.find("World") print(index)  # 출력: 7

text 변수에 문자열 "Hello, World!"를 할당하고 find() 함수를 사용하여 text 변수에서 "World"라는 부분 문자열을 검색한다. find() 함수를 통해 "World"를 문자열에서 처음으로 발견하는 위치의 인덱스를 반환하게 된다.
 

text = "Hello, World! Hello, Python!" index = text.find("Hello", 7)  # 인덱스 7 이후부터 검색 print(index)  # 출력: 13

find() 함수의 두 번째 인자인 7에 의해 문자열 인덱스 7 이후부터 시작하므로, 첫 번째 "Hello"는 검색에서 제외된다.
 

text = "Hello, World!" index = text.find("Python") print(index)  # 출력: -1

만약 검색할 부분 문자열이 문자열에 존재하지 않으면 -1을 반환하게 된다.
 

text = "Hello, World!" index = text.find("world") print(index)  # 출력: -1 (대소문자가 다르므로 검색 실패)

find() 함수는 대소문자를 구분하므로 "world"와 "World"는 대소문자가 다르므로 다른 문자열로 처리된다.
 

text = "Hello, World!" index = text.lower().find("world") print(index)  # 출력: 7 (대소문자를 무시하고 검색)

text.lower()로 먼저 문자열을 소문자로 변환한다. 이렇게 하면 원래 문자열의 대소문자 구분을 무시하고 검색할 수 있게 된다.
 

text = "Hello, Hello, Hello, World!" start = 0 while True:     index = text.find("Hello", start)     if index == -1:         break     print("Hello found at index:", index)     start = index + 1
Hello found at index: 0 Hello found at index: 7 Hello found at index: 14

"Hello, Hello, Hello, World!"에서 "Hello"를 반복해서 검색하고, 각각의 "Hello"가 발견된 위치를 출력하게 된다. start 변수를 업데이트하여 검색 범위를 제한하므로, 모든 "Hello"를 찾을 수 있다.

728x90
반응형

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.