7. 파이썬 문자열 찾기


파이썬 문자열 안에서 문자열 찾기

파이썬은 문자열 안에서 문자열의 위치를 찾기 위한 다양한 방법을 제공합니다.

이 페이지에서는 예제와 함께 find(), index(), rfind(), rindex() 메서드를 소개합니다.


Table of Contents


find()

예제

text = 'Welcome to Codetorial'

pos_e = text.find('e')
print(pos_e)

pos_Code = text.find('Code')
print(pos_Code)

pos_code = text.find('code')
print(pos_code)
1
11
-1

find(‘e’)는 처음으로 발견되는 문자 ‘e’의 위치를 찾아서 1을 반환합니다.

마찬가지로 find(‘Code’)는 처음으로 발견되는 문자열 ‘Code’의 위치인 11를 반환합니다.

find(‘code’)는 문자열 ‘code’의 위치를 찾습니다. 대소문자를 구분하기 때문에 ‘code’를 찾지 못해서 -1를 반환합니다.




index()

예제

text = 'Welcome to Codetorial'

pos_e = text.index('e')
print(pos_e)

pos_Code = text.index('Code')
print(pos_Code)

pos_code = text.index('code')
print(pos_code)
1
11
Traceback (most recent call last):
  File "/Users/python/tips_and_examples/test.py", line 9, in <module>
    pos_code = text.index('code')
ValueError: substring not found

index()는 문자열 안에서 문자 또는 문자열을 찾는 면에서 find()와 거의 비슷합니다.

하지만 find()와 달리, index()는 문자 또는 문자열을 찾지 못할 경우 예외를 발생합니다.




rfind()

예제

text = 'Welcome to Codetorial'

pos_e_last = text.rfind('e')
print(pos_e_last)

pos_e_first = text.find('e')
print(pos_e_first)

pos_to_last = text.rfind('to')
print(pos_to_last)

pos_to_first = text.find('to')
print(pos_to_first)
14
1
15
8

rfind()find()와 다르게 문자열의 끝에서부터 처음으로 발견되는 문자 또는 문자열의 위치를 반환합니다.

문자열을 찾지 못할 경우 -1을 반환합니다.




rindex()

예제

text = 'Welcome to Codetorial'

pos_Code_last = text.rindex('Code')
print(pos_Code_last)

pos_code_last = text.rindex('code')
print(pos_code_last)
11
Traceback (most recent call last):
  File "/Users/python/tips_and_examples/test2.py", line 6, in <module>
    pos_code_last = text.rindex('code')
ValueError: substring not found

rindex()rfind()와 마찬가지로 문자열의 끝에서부터 처음으로 발견되는 문자 또는 문자열의 위치를 반환합니다.

하지만 index()와 같이 rindex()는 문자열을 찾지 못할 경우 예외를 발생합니다.


파이썬 문자열 기초와 다양한 메서드는 Python 문자열 (Strings) 페이지를 참고하세요.



이전글/다음글