web-dev-qa-db-ja.com

Python:任意のアルファベット文字で始まる

Startswith関数を使用して、任意の英字[a-zA-Z]に一致させるにはどうすればよいですか。たとえば、私はこれをしたいと思います:

if line.startswith(ALPHA):
    Do Something
22
teggy

ASCII以外の文字にも一致させたい場合は、 str.isalpha

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

タプルをstartswiths()(Python 2.5+)に渡して、その要素のいずれかに一致させることができます。

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

もちろん、この単純なケースでは、正規表現テストまたはin演算子の方が読みやすくなります。

10
efotinis

簡単な解決策は、python regexモジュールを使用することです。

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

これはおそらく最も効率的な方法です。

if line != "" and line[0].isalpha():
    ...
3
Dave Kirby
if line.startswith((chr(x) for x in range(ord('a'), ord('z')+1)+range(ord('A'), ord('Z')+1)):
    # do processsing
    pass
0
shantanoo