如何使用startswith函数匹配任何字母字符[a-zA-Z]。例如,我想这样做:
if line.startswith(ALPHA):
Do Something
答案 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():