Python 문자열에 다른 문자열이 포함되어 있는지 확인

문자열 조작은 모든 프로그래밍 언어에서 흔한 작업입니다. 파이썬은 문자열이 다른 문자열을 포함하는지 확인하는 두 가지 일반적인 방법을 제공합니다.

파이썬 문자열이 다른 문자열을 포함하는지 확인

파이썬 문자열은 in 연산자를 지원합니다. 따라서 이를 사용하여 문자열이 다른 문자열의 일부인지 여부를 확인할 수 있습니다. in 연산자의 구문은 다음과 같습니다:

sub in str

“sub” 문자열이 “str”의 일부인 경우 True를 반환하고, 그렇지 않으면 False를 반환합니다. 파이썬에서 in 연산자를 사용하는 몇 가지 예제를 살펴보겠습니다.

str1 = 'I love Python Programming'

str2 = 'Python'

str3 = 'Java'

print(f'"{str1}" contains "{str2}" = {str2 in str1}')
print(f'"{str1}" contains "{str2.lower()}" = {str2.lower() in str1}')
print(f'"{str1}" contains "{str3}" = {str3 in str1}')

if str2 in str1:
    print(f'"{str1}" contains "{str2}"')
else:
    print(f'"{str1}" does not contain "{str2}"')

결과:

"I love Python Programming" contains "Python" = True
"I love Python Programming" contains "python" = False
"I love Python Programming" contains "Java" = False
"I love Python Programming" contains "Python"

파이썬의 f-접두사 문자열에 익숙하지 않다면, 이것은 파이썬 3.6에서 소개된 문자열 포맷팅의 새로운 방법입니다. 파이썬의 f-문자열에서 자세히 읽어보세요.

in 연산자를 사용할 때 내부적으로는 __contains__() 함수가 호출됩니다. 이 함수를 직접 사용할 수도 있지만 가독성을 위해 in 연산자를 사용하는 것이 권장됩니다.

s = 'abc'

print('s contains a =', s.__contains__('a'))
print('s contains A =', s.__contains__('A'))
print('s contains X =', s.__contains__('X'))

결과:

s contains a = True
s contains A = False
s contains X = False

문자열이 다른 부분 문자열을 포함하는지 확인하기 위해 find() 사용

우리는 또한 문자열 find() 함수를 사용하여 문자열이 부분 문자열을 포함하는지 여부를 확인할 수 있습니다. 이 함수는 부분 문자열이 발견된 첫 번째 인덱스 위치를 반환하고, 그렇지 않으면 -1을 반환합니다.

str1 = 'I love Python Programming'

str2 = 'Python'

str3 = 'Java'

index = str1.find(str2)
if index != -1:
    print(f'"{str1}" contains "{str2}"')
else:
    print(f'"{str1}" does not contain "{str2}"')

index = str1.find(str3)
if index != -1:
    print(f'"{str1}" contains "{str3}"')
else:
    print(f'"{str1}" does not contain "{str3}"')

결과:

"I love Python Programming" contains "Python"
"I love Python Programming" does not contain "Java"

완전한 파이썬 스크립트 및 더 많은 Python 예제는 저희 GitHub 저장소에서 확인할 수 있습니다.

Source:
https://www.digitalocean.com/community/tutorials/python-check-if-string-contains-another-string