본문 바로가기
Python/Python

파이썬 - String endswith(), 어떤 문자열로 끝나는지 확인

by 키모형 2022. 12. 15.

endswith()

endswith()를 이용하여 문자열이 특정 문자열로 끝이 나는지 확인할 수 있습니다.

 

1. endswith()로 문자열이 특정 문자열로 끝나는지 확인

예를 들어 다음과 같이 'Hello world, Python'가 Python 으로 끝나는지 확인할 수 있습니다.

str = 'Hello world, Python'

if str.endswith('Python'):
    print('It ends with Python')

if not str.endswith('Hello'):
    print('It does not ends with Hello')

Output:

It ends with Python
It does not end with Hello

만약 대소문자를 구분하지 않고 비교를 하고 싶다면 lower()로 소문자로 변경 후, 소문자로 비교할 수 있습니다.

str = 'Hello world, Python'
if str.lower().endswith('python'):
    print('It ends with python')

Output:

It ends with python

2. endswith()와 split()으로 단어가 특정 문자열로 끝나는지 확인

만약 어떤 문자열이 포함하고 있는 단어들 중에, 특정 문자열로 끝나는지 확인할 수도 있습니다.

다음과 같이 split()으로 whitespace 단위로 단어들을 분리하고, 각각의 단어들에 대해서 endswith()로 특정 단어로 끝나는지 확인할 수 있습니다.

str = 'Hello world, Python!'
strings = str.split()

list = []
for word in strings:
    if word.endswith('!'):
        list.append(word)

print(list)

Output:

['Python!']

3. Comprehension과 endswith()로 단어가 특정 문자열로 끝나는지 확인

위에서 구현한 예제를 다음과 같이 list comprehension으로 간단히 구현할 수 있습니다.

list = [word for word in strings if word.endswith('!')]
print(list)

Output:

['Python!']

 

4. 검사를 하려는 위치를 지정할 수 있습니다.

문법

string.endswith(value, start, end)

매개변수

value 필수옵션. 검사할 대상 문자열
start 선택옵션. 검사를 진행할 시작 위치 인덱스
end 선택옵션. 검사를 진행할 종료 위치 인덱스

예제

7 ~ 14 위치에 "me" 로 끝이 나는지 검사

txt = "Hello, welcome to my world."

x = txt.endswith("me", 7, 14)

print(x)

Output: True 

 

7~14 사이 문자열은 "welcome" 입니다. 해당 문자열은 me로 끝나기 때문에 True 가 반환됩니다.

 

반응형