본문으로 건너뛰기
실습하기

find()와 rfind()로 특정 문자의 위치 찾기

"banana"라는 문자열에서 "a"라는 문자가 몇 번째에 있는지 찾으려면 어떻게 할까요?

find()rfind() 함수는 문자열 내에서 특정 문자나 문자열의 위치를 찾습니다.


find() 함수 사용법

find() 함수는 문자열의 시작(왼쪽)부터 특정 문자 및 문자열을 찾아 그 위치의 인덱스(Index) 번호를 반환합니다.

인덱스란? : 프로그래밍에서 인덱스는 순서를 나타내는 번호를 뜻합니다. 여러 문자로 구성된 문자열에서 각 문자는 인덱스를 가지고 있으며, 인덱스는 0부터 시작합니다. 예를 들어, 문자열 "hello"에서 "h"의 인덱스는 0, "e"의 인덱스는 1입니다.

문자열 내 공백도 인덱스에 포함되며, 문자열 내 찾는 문자열이 여러 번 나타날 경우 처음 나타나는 위치의 인덱스를 반환합니다.

찾는 문자나 문자열이 없으면 -1을 반환합니다.

find() 함수 사용 예시
text = "파이썬 수업, 수업은 재미있다"

# text 문자열 변수의 시작부터 "수업" 문자열의 시작 위치 반환
position = text.find("수업")

# 왼쪽에서 첫 번째 "수업" 문자열의 시작 위치 반환
print(position)

text로 제시된 "파이썬 수업, 수업은 재미있다" 문자열에서 인덱스별 문자를 나타내면 다음과 같습니다.

문자열 인덱스
0: '파'
1: '이'
2: '썬'
3: ' '
4: '수'
5: '업'
6: ','
7: ' '
8: '수'
9: '업'
10: '은'
...

위 코드에서 find() 함수는 문자열 text에서 "수업" 문자열을 왼쪽부터 찾습니다.

"수업" 문자열은 4번째 인덱스부터 시작하므로, find() 함수는 "수업" 문자열의 시작 위치인 4를 반환합니다.


rfind() 함수 사용법

rfind() 함수는 문자열의 오른쪽(끝)부터 특정 문자 및 문자열을 찾아 그 위치의 인덱스를 반환합니다.

찾는 문자나 문자열이 없으면 -1을 반환합니다.

rfind() 함수 사용 예시
text = "파이썬 수업, 수업은 재미있다"

# text 문자열 변수의 시작부터 "수업" 문자열의 시작 위치 반환
position = text.rfind("수업")

# 오른쪽에서 첫 번째 "수업" 문자열의 시작 위치 반환
print(position)

rfind() 함수는 문자열 text에서 "수업" 문자열을 오른쪽부터 찾습니다.

"수업" 문자열은 8번째 인덱스부터 시작하므로, rfind() 함수는 오른쪽부터 탐색했을 때 "수업" 문자열의 시작 위치인 8을 반환합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!