使用正则表达式来判断是最简单的。
import re
my_re = re.compile(r'[A-Za-z]')
my_str_1 = 'fasdfsaf1231231'
my_str_2 = '123123123'
print(bool(re.match(my_re, my_str_1)))
print(bool(re.match(my_re, my_str_2)))
也可以通过isalpha判断
my_str_1 = 'fasdfsaf1231231'
my_str_2 = '123123123'
def is_letter(val):
return val.isalpha()
print(''.join(filter(is_letter, my_str_1)))
print(''.join(filter(is_letter, my_str_2)))
第二段代码会过滤掉非字母并输出,也可以用正则做到同样的效果
思路:把先字符串转化为list,逐个读取list中的数据,利用isalpha()判定函数,判断这些数据是否包含字母,如果包括则输出“contain letter”,并跳出循环。如果没有输出,则证明不包含字母。
#-*- coding: UTF-8 -*-
reload(sys)
sys.setdefaultencoding("utf8")
s = '17893 ,9/%&A'
s=list(s)
print s
for i in s:
if i.isalpha():
print 'contain letter'
break
python中字符串有isalpha()方法,它可以判断是否为英文字母。
可以对字符串进行遍历或者直接判断。
str1 = 'Hello123'
for s in str1:
print(s.isalpha())
用isalpha()函数来判断英文字符,如果是英文字母,则输出true,否则,输出false
示例代码
s = 'Hello there'
for i in s:
print i.isalpha()
含有英文的意思是含有英文字母吗?
a='测试test测试'
if True in [ (ord(c) > 64 and ord(c) < 91) or (ord(c) > 96 and ord(c) < 123) for c in a ]: print("含有英文字母")