Python - 문자열 비교 방법

파이썬에서 두개의 문자열 비교하는 다양한 방법들을 소개합니다.

1. '==', '!=' 키워드로 문자열이 같은지, 다른지 확인

==, !=으로 두개의 문자열이 서로 같은지 다른지 비교할 수 있습니다.

str1 = "Hello, World"
str2 = "Hello, World"
str3 = "Hello, Python"

if str1 == str2:
    print("str1 is equal to str2")

if str1 != str3:
    print("str1 is not equal to str3")

Output:

str1 is equal to str2
str1 is not equal to str3

2. 'in', 'not in' 키워드로 문자열 포함 여부 확인

in, not in으로 문자열에 특정 문자열이 포함되어있는지, 포함안되어있는지 확인할 수 있습니다. (Java의 contains()와 비슷합니다.)

str1 = "Hello"
str2 = "Hello, World"
str3 = "Python"

if str1 in str2:
    print("str2 contains str1")

if str3 not in str2:
    print("str2 doesn't contains str3")

Output:

str2 contains str1
str2 doesn't contains str3

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

문자열이 startswith()의 인자로 전달된 문자열로 시작하는지 확인할 수 있습니다. 부정은 if not str2.startswith()처럼 앞에 not을 붙이면 됩니다.

str1 = "Hello"
str2 = "Hello, World"

if str2.startswith(str1):
    print("str2 starts with str1")

Output:

str2 starts with str1

startswith() 함수에 대한 자세한 내용은 "Python - String startswith(), 어떤 문자열로 시작하는지 확인"를 참고해주세요.

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

문자열이 endswith()의 인자로 전달된 문자열로 끝나는지 확인할 수 있습니다. 부정은 if not str2.startswith()처럼 앞에 not을 붙이면 됩니다.

str1 = "World"
str2 = "Hello, World"

if str2.endswith(str1):
    print("str2 ends with str1")

Output:

str2 ends with str1

5. 정규표현식으로 문자열 패턴 비교

다음과 같이 정규표현식의 패턴과 일치하는지 비교할 수도 있습니다. 아래 예제는 Hello로 시작하고 World로 끝나는 패턴의 문자열을 찾습니다. re.match(pattern, str)는 문자열이 패턴과 일치하면 True를 리턴합니다.

import re

def check_pattern(str):
    if re.match("Hello.*World", str):
        print("Pass")
    else:
        print("Fail")


str1 = "Hello, World"
str2 = "Hello----World"
str3 = "Hello~~~~~World"

check_pattern(str1)
check_pattern(str2)
check_pattern(str3)

Output:

Pass
Pass
Pass

정규표현식에 대한 자세한 내용은 Python - Regex를 참고해주세요.

Loading script...

Related Posts

codechachaCopyright ©2019 codechacha