Python:以任何字母字符开头

时间:2010-03-07 09:49:35

标签: python startswith

如何使用startswith函数匹配任何字母字符[a-zA-Z]。例如,我想这样做:

if line.startswith(ALPHA):
    Do Something

6 个答案:

答案 0 :(得分:42)

如果你想匹配非ASCII字母,你可以这样做:

if line and line[0].isalpha():

答案 1 :(得分:11)

您可以将元组传递给startswiths()(在Python 2.5+中)以匹配其任何元素:

import string
ALPHA = string.ascii_letters
if line.startswith(tuple(ALPHA)):
    pass

当然,对于这个简单的情况,正则表达式测试或in运算符会更具可读性。

答案 2 :(得分:6)

一个简单的解决方案是使用python regex模块:

import re
if re.match("^[a-zA-Z]+.*", line):
   Do Something

答案 3 :(得分:4)

这可能是最有效的方法:

if line != "" and line[0].isalpha():
    ...

答案 4 :(得分:0)

if line.startswith((chr(x) for x in range(ord('a'), ord('z')+1)+range(ord('A'), ord('Z')+1)):
    # do processsing
    pass

答案 5 :(得分:-1)

如果你不关心字符串前面的空格,

if line and line.lstrip()[0].isalpha():