Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

문자열에 Python에서 특정 문자만 포함되어 있는지 확인하는 방법은 무엇입니까?


문자열에 특정 문자만 포함되어 있는지 여부는 집합을 사용하여 확인할 수 있습니다. 허용하려는 문자를 사용하여 집합을 선언합니다. 예를 들어 문자열에 1, 2, 3, 4만 포함되어 있는지 확인하려면 -

를 사용할 수 있습니다.

예시

from sets import Set
allowed_chars = Set('1234')
validationString = '121'
if Set(validationString).issubset(allowed_chars):
    print True
else:
    print False

출력

이것은 당신에게 결과를 줄 것입니다 -

True

동일한 결과에 대해 정규식을 사용할 수도 있습니다. 1, 2, 3, 4만 일치시키기 위해 "^[1234]+$" 정규식을 사용하여 re.match(regex, string)를 호출할 수 있습니다.

import re
print(bool(re.match('^[1234]+$', '123abc')))
print(bool(re.match('^[1234]+$', '123')))

출력

False
True

정규식은 일부 문자에 대해 특별한 용도가 있으므로 이스케이프해야 합니다. re.match는 객체를 반환하고 객체가 존재하는지 여부를 확인하려면 bool()을 사용하여 부울로 변환해야 합니다.