본문 바로가기
Python/Python

파이썬 - String startswith(), 어떤 문자열로 시작하는지 확인

by 키모형 2022. 12. 15.

startwith()

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

 

1. startswith()로 문자열이 특정 문자열로 시작하는지 확인

예를 들어 다음과 같이 'Hello world, Python!'가 Hello로 시작하는지 확인할 수 있습니다.

str = 'Hello world, Python!'
if str.startswith('Hello'):
    print('It starts with Hello')

if not str.startswith('Python'):
    print('It does not start with Python')

Output:

It starts with Hello
It does not start with Python

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

str = 'Hello world, Python!'
if str.lower().startswith('hello'):
    print('It starts with hello')

Output:

It starts with hello

2. startswith()와 split()으로 단어가 특정 문자열로 시작하는지 확인

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

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

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

list = []
for word in strings:
    if word.startswith('Python'):
        list.append(word)

print(list)

Output:

['Python!']

3. Comprehension과 startswith()로 단어가 특정 문자열로 시작하는지 확인

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

list = [word for word in strings if word.startswith('Python')]
print(list)

 

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

문법

string.startswith(value, start, end)

매개변수

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

예제

7 ~ 20 위치에 "wel" 로 시작하는 단어가 있는지 검사

txt = "Hello, welcome to my world."

x = txt.startswith("wel", 7, 20)

print(x)

Output: True 

 

7~20 사이 문자열은 "welcome to my" 입니다. 해당 문자열은 wel로 시작하기 때문에

True 가 반환됩니다.

 

 

반응형