如何验证字符串是否包含属于字母的字符?

时间:2014-04-28 19:23:55

标签: python alphabet

我有这段代码:

ALPHABET = string.ascii_uppercase + string.digits + ' _'

def is_correct(mystr):
    # check if the characters in mystr belong to the ALPHABET
    # return True or False

我要做的是:

  1. 获取mystr的字母:alphabet1
  2. 检查alphabet1中的所有字符是否都在ALPHABET
  3. 但我不知道该怎么做1)如何获取给定字符串的字母? 如何知道alphabet1是否在ALPHABET

2 个答案:

答案 0 :(得分:2)

ALPHABET = string.ascii_uppercase + string.digits + ' _'

def is_correct(mystr):
    return set(mystr).issubset(set(ALPHABET))

OR

def is_correct(mystr):
    return all(c in ALPHABET for c in mystr)

OR

def is_correct(mystr):
    for char in mystr:
        if char not in ALPHABET:
            return False
    return True

OR

def is_correct(mystr):
    mystr = set(mystr)
    for char in ALPHABET:
        mystr.discard(char)
    return not mystr

答案 1 :(得分:0)

您还可以使用函数isalpha - 它将检查字符(或字符串)是否为字母。您不必声明您的字母

def has_letters(str1):
    str2= list(str1)
    for i in str2:
        if i.isalpha:
            return True
    return False