Python: 문자열에 하위 문자열이 포함되어 있는지 확인

문자열에 하위 문자열이 포함되어 있는지 확인하면 조건을 일반화하고 보다 유연한 코드를 만드는 데 도움이 됩니다. 또한 도메인 모델에 따라 문자열에 하위 문자열이 포함되어 있는지 확인하면 문자열이 자체적으로 필드를 인코딩하는 경우 개체의 필드를 추론할 수도 있습니다.

이 가이드에서는 다음 내용을 살펴보겠습니다. 문자열에 하위 문자열이 포함되어 있는지 확인하는 방법 파이썬에서.

XNUMXD덴탈의 in 운영자

Python 문자열에 하위 문자열이 포함되어 있는지 확인하는 가장 쉬운 방법은 다음을 사용하는 것입니다. in 연산자.

XNUMXD덴탈의 in 연산자는 Python의 멤버십에 대한 데이터 구조를 확인하는 데 사용됩니다. 부울을 반환합니다(둘 중 하나). True or False). Python에서 문자열에 하위 문자열이 포함되어 있는지 확인하려면 in 연산자를 사용하면 간단히 슈퍼스트링에서 이를 호출할 수 있습니다.

fullstring = "StackAbuse"
substring = "tack"

if substring in fullstring:
    print("Found!")
else:
    print("Not found!")

이 연산자는 객체의 호출을 줄여서 표현한 것입니다. __contains__ 방법이며 목록에 항목이 있는지 확인하는 데도 효과적입니다. 있다는 점은 주목할 가치가 있습니다. 널 안전하지 않음, 그렇다면 우리의 fullstring 가리키고 있었다 None, 예외가 발생합니다.

TypeError: argument of type 'NoneType' is not iterable

이를 방지하려면 먼저 그것이 다음을 가리키는지 확인해야 합니다. None 또는 아닙니다 :

fullstring = None
substring = "tack"

if fullstring != None and substring in fullstring:
    print("Found!")
else:
    print("Not found!")

XNUMXD덴탈의 문자열.인덱스() 방법

Python의 String 유형에는 다음과 같은 메소드가 있습니다. index() 문자열에서 부분 문자열이 처음 나타나는 시작 인덱스를 찾는 데 사용할 수 있습니다.

하위 문자열을 찾을 수 없는 경우 ValueError 예외가 발생하며, 이는 try-Exception-else 블록으로 처리할 수 있습니다.

fullstring = "StackAbuse"
substring = "tack"

try:
    fullstring.index(substring)
except ValueError:
    print("Not found!")
else:
    print("Found!")

이 방법은 전체 문자열 내에 존재하는 것뿐만 아니라 하위 문자열의 위치도 알아야 하는 경우에 유용합니다. 메서드 자체는 인덱스를 반환합니다.

print(fullstring.index(substring))

하지만 – 문자열에 하위 문자열이 포함되어 있는지 확인하기 위한 자세한 접근 방식입니다.

String.find() 메서드

String 클래스에는 다음과 같은 또 다른 메서드가 있습니다. find() 것보다 사용하기가 더 편리합니다. index(), 주로 예외 처리에 대해 걱정할 필요가 없기 때문입니다.

If find() 일치하는 항목을 찾지 못하면 -1을 반환하고, 그렇지 않으면 더 큰 문자열에서 하위 문자열의 가장 왼쪽 인덱스를 반환합니다.

모범 사례, 업계에서 인정하는 표준 및 포함된 치트 시트가 포함된 Git 학습에 대한 실습 가이드를 확인하십시오. 인터넷 검색 Git 명령을 중지하고 실제로 배움 이것!

fullstring = "StackAbuse"
substring = "tack"

if fullstring.find(substring) != -1:
    print("Found!")
else:
    print("Not found!")

당연히 다음과 동일한 검색을 수행합니다. index() 상위 문자열 내 하위 문자열의 시작 인덱스를 반환합니다.

print(fullstring.find(substring))

정규식(RegEx)

정규식은 패턴 일치를 위해 문자열을 확인하는 보다 유연한(더 복잡하긴 하지만) 방법을 제공합니다. 정규식을 사용하면 이전처럼 단순한 검사가 아닌 훨씬 더 넓은 검색 공간을 통해 유연하고 강력한 검색을 수행할 수 있습니다.

Python에는 정규 표현식용 모듈이 내장되어 있습니다. re. 그만큼 re 모듈에는 다음과 같은 함수가 포함되어 있습니다. search(), 하위 문자열 패턴을 일치시키는 데 사용할 수 있습니다.

from re import search

fullstring = "StackAbuse"
substring = "tack"

if search(substring, fullstring):
    print "Found!"
else:
    print "Not found!"

이 방법은 대소문자를 구분하지 않는 일치와 같이 보다 복잡한 일치 기능이 필요하거나 큰 검색 공간을 처리하는 경우에 가장 적합합니다. 그렇지 않으면 간단한 하위 문자열 일치 사용 사례에 대해 정규식의 복잡함과 느린 속도를 피해야 합니다.

저자에 관하여

이 기사는 코드를 통해 다른 사람들의 삶을 향상시키려는 열정을 가진 소프트웨어 컨설턴트이자 개발자인 Jacob Stopak이 작성했습니다. 야곱은 창조자이다. 초기 커밋 – 호기심 많은 개발자가 자신이 좋아하는 프로그램의 코딩 방법을 배울 수 있도록 돕는 전용 사이트입니다. 주요 프로젝트는 사람들을 돕습니다. Git 배우기 코드 수준에서.

타임 스탬프 :

더보기 스택카부스