find()와 rfind()로 특정 문자의 위치 찾기
"banana"
라는 문자열에서 "a"
라는 문자가 몇 번째에 있는지 찾으려면 어떻게 할까요?
find()
와 rfind()
함수는 문자열 내에서 특정 문자나 문자열의 위치를 찾습니다.
find() 함수 사용법
find()
함수는 문자열의 시작(왼쪽)부터 특정 문자 및 문자열을 찾아 그 위치의 인덱스(Index) 번호를 반환합니다.
인덱스란? : 프로그래밍에서 인덱스는 순서를 나타내는 번호를 뜻합니다. 여러 문자로 구성된 문자열에서 각 문자는 인덱스를 가지고 있으며, 인덱스는 0부터 시작합니다. 예를 들어, 문자열
"hello"
에서"h"
의 인덱스는 0,"e"
의 인덱스는 1입니다.
문자열 내 공백도 인덱스에 포함되며, 문자열 내 찾는 문자열이 여러 번 나타날 경우 처음 나타나는 위치의 인덱스를 반환합니다.
찾는 문자나 문자열이 없으면 -1
을 반환합니다.
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
을 반환합니다.
text = "파이썬 수업, 수업은 재미있다"
# text 문자열 변수의 시작부터 "수업" 문자열의 시작 위치 반환
position = text.rfind("수업")
# 오른 쪽에서 첫 번째 "수업" 문자열의 시작 위치 반환
print(position)
rfind()
함수는 문자열 text
에서 "수업"
문자열을 오른쪽부터 찾습니다.
"수업"
문자열은 8
번째 인덱스부터 시작하므로, rfind()
함수는 오른쪽부터 탐색했을 때 "수업"
문자열의 시작 위치인 8
을 반환합니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!