我需要验证没有正则表达式的名称并保持简单,我有这个:
def validation(name):
for char in name:
if not (("A" <= char and char <= "Z") or ("a" <= char and char <= "z") or (char == " ")):
return False
return True
有没有办法让它变得更好?
答案 0 :(得分:4)
您需要isalpha()方法
name = "oridm"
if name.replace(" ", "").isalpha():
print "Name is valid"
else:
print "Name is invalid"
答案 1 :(得分:4)
有一个有用的列表string.letters
,其中包含所有英文字母,因此您的代码可以写成一行代码:
import string
all(c in string.letters + ' ' for c in name)
答案 2 :(得分:1)
import re
pattern = re.compile(r'([a-zA-Z])\D*([a-zA-Z])$')
pattern.search('string you're searching')
这个 - 或接近它的东西 - 将允许你解析字符串。它查找第一个字符串,然后忽略非数字的可选分隔符(\ D *),然后忽略最终字符串。
答案 3 :(得分:0)
Time