[Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())에 대해 학습 후 정리한 포스팅 입니다.
이번 포스팅에서는 [Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())에 대해 학습합니다.
Python에서 문자열 내 특정 문자나 부분 문자열의 인덱스를 찾기 위한 주요 메서드는 count, find, index입니다.
각 메서드의 특징과 사용법에 대해 설명하겠습니다.
1. count()
- 문자열 내에서 특정 문자나 부분 문자열이 몇 번 나타나는지 세어줍니다.
- 찾는 문자나 부분 문자열이 없으면 0을 반환합니다.
s = "hello world"
print(s.count("l")) # 출력: 3
2. find()
- 문자열 내에서 특정 문자나 부분 문자열의 첫 번째 인덱스를 반환합니다.
- 찾는 문자나 부분 문자열이 없으면 -1을 반환합니다.
- cf) rfind(): 문자열에서 오른쪽부터 시작하여 특정 부분 문자열을 찾고 그 인덱스를 반환합니다.
s = "hello world"
print(s.find("l")) # 출력: 2
print(s.find("z")) # 출력: -1
print(s.rfind("l")) # 출력: 9
3. index()
- find()와 유사하게 문자열 내에서 특정 문자나 부분 문자열의 첫 번째 인덱스를 반환합니다.
- 차이점은, 찾는 문자나 부분 문자열이 없을 경우 ValueError 예외를 발생시킵니다.
s = "hello world"
print(s.index("l")) # 출력: 2
# print(s.index("z")) # ValueError: substring not found
4. 범위를 지정하여 탐색
이러한 메서드들은 문자열의 시작과 끝 범위를 지정하여 검색 범위를 제한할 수도 있습니다.
1) count()
s = "hello world"
# 전체 문자열에서 'l'의 개수 세기
print(s.count('l')) # 출력: 3
# 인덱스 3부터 끝까지에서 'l'의 개수 세기
print(s.count('l', 3)) # 출력: 2
# 인덱스 3부터 8까지에서 'l'의 개수 세기
print(s.count('l', 3, 8)) # 출력: 1
2) find()
s = "hello world"
# 전체 문자열에서 'l'의 위치 찾기
print(s.find('l')) # 출력: 2
# 인덱스 3부터 끝까지에서 'l'의 위치 찾기
print(s.find('l', 3)) # 출력: 3
# 인덱스 3부터 8까지에서 'l'의 위치 찾기
print(s.find('l', 3, 8)) # 출력: 3
# 찾는 문자나 부분 문자열이 없을 경우 -1 반환
print(s.find('z')) # 출력: -1
3) index()
s = "hello world"
# 전체 문자열에서 'l'의 위치 찾기
print(s.index('l')) # 출력: 2
# 인덱스 3부터 끝까지에서 'l'의 위치 찾기
print(s.index('l', 3)) # 출력: 3
# 인덱스 3부터 8까지에서 'l'의 위치 찾기
print(s.index('l', 3, 8)) # 출력: 3
# 찾는 문자나 부분 문자열이 없을 경우 ValueError 발생
# print(s.index('z')) # 이 코드는 에러를 발생시킵니다.
<Summary>
- [Python] 문자열 내 문자 및 인덱스 찾기
- count()
- find()
- index()
- 범위를 지정하여 탐색
*유의사항
- AI 산업기능요원이 공부하여 남긴 정리입니다.
'AI Developer > Python' 카테고리의 다른 글
[Python] 문서 자동화 (docx-template) (1) | 2023.09.13 |
---|---|
[Python] 리스트 컴프리헨션(List Comprehension) (0) | 2023.08.18 |
[파이썬] 정렬 함수 (sort VS sorted) (1) | 2023.02.04 |
[파이썬] 리스트 역순으로 저장/출력하기 (0) | 2023.01.23 |
[파이썬] 파이썬 자료 구조 (0) | 2023.01.12 |
댓글