Python: 是否以任意字母开头
我想知道怎么用startswith这个函数来匹配任何字母字符,也就是从a到z和从A到Z的字母。比如,我想这样做:
if line.startswith(ALPHA):
Do Something
6 个回答
9
一个简单的解决办法是使用Python的正则表达式模块:
import re
if re.match("^[a-zA-Z]+.*", line):
Do Something
13
你可以把一个元组传给 startswiths()
函数(在 Python 2.5 及以上版本中),这样就可以匹配元组中的任何一个元素:
import string
ALPHA = string.ascii_letters
if line.startswith(tuple(ALPHA)):
pass
当然,对于这种简单的情况,使用正则表达式测试或者 in
操作符会更容易理解。
62
如果你想要匹配非ASCII字母,也就是那些不是简单英文字母的字母,你可以使用 str.isalpha
这个方法:
if line and line[0].isalpha():