Python/파이썬 기초 강의(2024)★

파이썬 문자열: 검색 함수 find index rfind rindex count startswith endswidth in re.search

코딩ABC 2024. 11. 15. 08:03
반응형

파이썬에서는 문자열 내에서 특정 문자를 찾거나 검색하는 다양한 함수들을 제공합니다. 이러한 함수들은 문자열의 일부를 검색하거나 인덱스를 찾는 데 유용하게 사용됩니다.

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
 
6. startswith() - 문자열이 특정 문자열로 시작하는지 확인

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

 

이러한 함수들을 활용하면 문자열 내에서 원하는 텍스트를 쉽게 검색하거나 확인할 수 있어, 데이터 처리나 문자열 분석에 유용하게 사용할 수 있습니다.

파이썬 문자열: 검색 함수 find index rfind rindex count startswith endswidth in re.search

 

반응형