Python/[개념 및 문법]

[python] 문자열 찾기, 문자열의 특정 위치 찾기_ index, find 함수

hyunnn_00 2023. 7. 4. 10:36
문자열 s에 특정 문자열 'ab'가 어느 위치에 포함되어 있는지 확인
s = 'appleabanana'
length = len(s)
start_idx = -1

for i in range(length - 1):
    if s[i] == 'a' and s[i + 1] == 'b':
        start_idx = i
        break

print(start_idx)

 

이 때 for loop을 [0, length - 2] 에서만 돌아야 함에 유의!

이는 비교시에 i + 1 위치의 문자를 조회하기 때문

 

index 함수 이용

부분 문자열이 없는 경우에는 다음과 같이 ValueError가 발생

=> 따라서 index 함수는 꼭 in 키워드와 함께 사용해야 함

s = 'appleabanana'

if 'ab' in s:
    print(s.index('ab'))
else:
    print(-1)

>> 5

 

find() 함수

해당 부분 문자열이 없는 경우에는 -1을, 있는 경우에는 가장 앞에 나오는 부분 문자열의 위치를 반환

s = 'appleabanana'
print(s.find('bob'))

>> -1