파이썬에서는 문자열 내에서 특정 문자를 찾거나 검색하는 다양한 함수들을 제공합니다. 이러한 함수들은 문자열의 일부를 검색하거나 인덱스를 찾는 데 유용하게 사용됩니다.
1. find() - 특정 문자열의 위치 찾기
find() 메서드는 지정한 문자열이 처음 나타나는 인덱스를 반환하며, 찾지 못하면 -1을 반환합니다.
text = "Hello, World!"
index = text.find("World") # 7
not_found = text.find("Python") # -1
find(검색 문자열, 시작 위치, 끝 위치) 형태로 특정 범위 내에서 검색할 수도 있습니다.
2. index() - 특정 문자열의 위치 찾기 (에러 발생)
index() 메서드는 find()와 비슷하게 동작하지만, 찾지 못할 경우 ValueError 예외를 발생시킵니다.
text = "Hello, World!"
index = text.index("World") # 7
# 찾지 못한 경우 예외 발생
index = text.index("Python") # ValueError: substring not found
3. rfind() - 문자열을 오른쪽에서부터 찾기
rfind()는 오른쪽(끝)에서부터 문자열을 찾아 처음 나타나는 위치의 인덱스를 반환하며, 찾지 못하면 -1을 반환합니다.
text = "Hello, World!"
index = text.rfind("o") # 8 (오른쪽에서 시작해서 첫 "o" 위치 찾기)
4. rindex() - 오른쪽에서부터 찾기 (에러 발생)
rindex() 메서드는 rfind()와 비슷하게 오른쪽에서부터 검색하지만, 찾지 못할 경우 ValueError 예외를 발생시킵니다.
text = "Hello, World!"
index = text.rindex("o") # 8
5. count() - 특정 문자열의 등장 횟수 세기
count() 메서드는 문자열 내에서 특정 문자열이 몇 번 등장하는지 반환합니다.
text = "banana"
count_a = text.count("a") # 3
startswith() 메서드는 문자열이 특정 접두사로 시작하는지 여부를 True 또는 False로 반환합니다.
text = "Hello, World!"
result = text.startswith("Hello") # True
7. endswith() - 문자열이 특정 문자열로 끝나는지 확인
endswith() 메서드는 문자열이 특정 접미사로 끝나는지 여부를 True 또는 False로 반환합니다.
text = "Hello, World!"
result = text.endswith("World!") # True
8. in 연산자 - 문자열 내 특정 문자열 포함 여부 확인
파이썬의 in 연산자를 사용하면 문자열 안에 특정 문자열이 포함되어 있는지 확인할 수 있습니다.
text = "Hello, World!"
result = "World" in text # True
result = "Python" in text # False
9. re 모듈을 활용한 정규 표현식 검색
정규 표현식 모듈인 re를 사용하면 복잡한 패턴 매칭이 가능합니다. 예를 들어, 특정 패턴으로 이루어진 문자열을 찾을 수 있습니다.
import re
text = "Hello, World!"
match = re.search(r"World", text)
if match:
print(match.start()) # 7
이러한 함수들을 활용하면 문자열 내에서 원하는 텍스트를 쉽게 검색하거나 확인할 수 있어, 데이터 처리나 문자열 분석에 유용하게 사용할 수 있습니다.
'Python > 파이썬 기초 강의(2024)★' 카테고리의 다른 글
파이썬 문자열: 정렬 함수 ljust rjust center format (0) | 2024.11.16 |
---|---|
파이썬 문자열: 대문자 소문자 변환 upper lower capitalize title swapcase casefold (1) | 2024.11.14 |
파이썬 문자열 함수: 문자열 분리 결합 split join (1) | 2024.11.13 |
파이썬 문자열 함수: strip, lstrip, rstrip, replace 공백 제거 교체 바꾸기 (0) | 2024.11.12 |
파이썬: 문자열 슬라이싱과 추출 (0) | 2024.11.11 |