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

Cách kiểm tra chuỗi có ít nhất một chữ cái và một số trong Python?

Cách dễ nhất để kiểm tra điều này trong Python là dùng regular expressions. Để kiểm tra xem chuỗi cho trước có ít nhất một chữ cái và một số, ta dùng re.match(regex, string).

Ví dụ

import re
print(bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', 'hasAlphanum123')))
print(bool(re.match('^(?=.*[0-9])(?=.*[a-zA-Z]$)', 'some string')))

Kết quả

True
False

Cú pháp ?= dùng để gọi lookaheads trong regular expressions. Lookaheads thực sự look ahead trong chuỗi từ vị trí hiện tại để tìm matches trong chuỗi cho trước. Bạn có thể đọc thêm về chúng tại đây.

Chúng ta cũng có thể kiểm tra một chữ cái và một số bằng vòng lặp for đơn giản và 2 flag.

Ví dụ

def validateString(s):
    letter_flag = False
    number_flag = False
    for i in s:
        if i.isalpha():
            letter_flag = True
        if i.isdigit():
            number_flag = True
    return letter_flag and number_flag

print(validateString('hasAlphanum23'))
print(validateString('some string'))

Kết quả

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

True
False