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을 반환합니다.
이 챕터의 강의 · 문자열을 원하는 대로 formatting 하는 방법
- 1. format() 함수로 문자열에 변수 삽입하기
- 2. format() 함수 유의사항 - indexError
- 3. format() 함수로 정수 출력하기
- 4. format() 함수로 부동 소수점 숫자 다루기
- 5. 선택형 퀴즈
- 6. 대소문자 변환 메소드 upper()와 lower()
- 7. strip() 함수로 문자열 양옆의 공백 제거하기
- 8. 문자열 구성을 확인하는 isOOO() 함수들
- 9. find()와 rfind()로 특정 문자의 위치 찾기
- 10. 문자열을 쪼개는 split() 함수
- 11. 문자열 내 특정 문자의 존재 여부를 확인하는 방법
- 12. 선택형 퀴즈
- 13. f-문자열로 문자열 formatting 하는 방법
- 14. format() 함수와 f-문자열 비교
- 15. 사용자에게 값을 입력 받는 input 함수
- 16. 잘못된 값을 나타내는 ValueError
- 17. 코딩 퀴즈- 문자열 분리하기
- 18. 선택형 퀴즈
- 19. 빈칸 채우기 퀴즈
rfind() 함수는 문자열의 시작(왼쪽)부터 특정 문자열을 찾아 인덱스를 반환한다.
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말