Python 문자열 비교 완전 일치 부분 일치 소스 예제

두개의 문자열을 비교하는 방법을 보겠습니다.

비교 방법으로는 완전 일치, 부분 일치가 있습니다.

・ 완전 일치 : == , !=

・ 부분 일치 : in , not in

・ 전방 일치 : startswith()

・ 후방 일치 : endswith()

 

소스로 예제를 보도록 하겠습니다.

 

완전 일치 : == , !=

2개의 문자열이 완전히 일치하는지 판정하기 위해 연산자로 ==를 사용합니다.

일치하면 True를 일치하지 않으면 False를 반환합니다.

print('abc' == 'abc')
# True

print('abc' == 'xyz')
# False

 

대문자와 소문자도 식별하니 주의해야 합니다.

print('abc' == 'ABC')
# False

!= 는 2개의 문자열이 완전히 일치하지 않으면 True 완전히 일치하면 False를 반환합니다.

== 와 반대입니다.

print('abc' != 'xyz')
# True

print('abc' != 'abc')
# False

 

부분 일치 : in , not in

문자열이 일부분 일치하는 문자가 있는지 판정하고 싶은 경우는 in 연산자를 사용합니다.

검색 대상 문자열에 검색 문자가 포함되어 있는 경우는 True, 포함되어 있는 않는 경우에는 False를 반환합니다.

print('bbb' in 'aaa-bbb-ccc')
# True

print('xxx' in 'aaa-bbb-ccc')
# False

print('abc' in 'aaa-bbb-ccc')
# False

 

not in 은 검색 대상 문자열에 검색 문자가 포함되어 있지 않는 경우에는 True, 포함되어 있는 경우에는 False 를 반환합니다.

print('xxx' not in 'aaa-bbb-ccc')
# True

print('bbb' not in 'aaa-bbb-ccc')
# False

  

전방 일치 : startswith()

검색 대상 문자열에 검색 문자가 앞에서부터 일치하는 판정하고 싶은 경우에는 startswith() 메서드를 사용합니다.

str = 'aaa-bbb-ccc'

print(str.startswith('aaa'))
# True

print(str.startswith('bbb'))
# False

 

검색 문자열을 여러 개 지정할 수 있습니다.

여러 개 지정한 경우에는 설정한 검색 문자 중 하나라도 앞에서부터 일치하면 True, 하나도 일치하지 않으면 False를 반환합니다.

str = 'aaa-bbb-ccc'

print(str.startswith(('aaa', 'bbb', 'ccc')))
# True

print(str.startswith(('xxx', 'yyy', 'zzz')))
# False

 

후방 일치 : endswith()

문자열이 뒤에서부터 일치하는지 판정하고 싶은 경우에는 endswith() 메서드를 사용합니다. 

판정 결과는 startswith() 메서드와 같습니다.

str = 'aaa-bbb-ccc'

print(str.endswith('ccc'))
# True

print(str.endswith('bbb'))
# False

print(str.endswith(('aaa', 'bbb', 'ccc')))
# True

  

정리

문자열을 비교하는 샘플을 살펴봤습니다.

PHP나 자바 스크립트 언어처럼 == 연산자를 사용합니다.

자바에서는 문자열을 비교해 주는 equals 가 있지만 파이썬에서는 == 연산자로 문자열도 비교를 합니다. 

댓글