Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách kiểm tra chuỗi chỉ chứa các ký tự cho phép trong Python?

Bạn có thể kiểm tra xem chuỗi chỉ chứa các ký tự cho phép bằng cách dùng Sets. Khai báo một set bằng các ký tự bạn muốn cho phép. Ví dụ nếu chúng ta muốn kiểm tra xem chuỗi chỉ chứa 1, 2, 3 và 4, chúng ta có thể dùng:

Ví dụ

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

Kết quả

Điều này sẽ cho ra kết quả:

True

Bạn cũng có thể dùng regex cho cùng kết quả. Để khớp chỉ 1, 2, 3 và 4, ta gọi re.match(regex, string) với regex: "^[1234]+$".

Ví dụ

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

Kết quả

False
True

Lưu ý rằng regex có dùng đặc biệt cho một số ký tự và do đó yêu cầu escape chúng. re.match trả về object, để kiểm tra nó tồn tại hay không, chúng ta cần chuyển nó thành boolean bằng bool().