Startswith関数を使用して、任意の英字[a-zA-Z]に一致させるにはどうすればよいですか。たとえば、私はこれをしたいと思います:
if line.startswith(ALPHA):
Do Something
ASCII以外の文字にも一致させたい場合は、 str.isalpha
:
if line and line[0].isalpha():
タプルをstartswiths()
(Python 2.5+)に渡して、その要素のいずれかに一致させることができます。
import string
ALPHA = string.ascii_letters
if line.startswith(Tuple(ALPHA)):
pass
もちろん、この単純なケースでは、正規表現テストまたはin
演算子の方が読みやすくなります。
簡単な解決策は、python regexモジュールを使用することです。
import re
if re.match("^[a-zA-Z]+.*", line):
Do Something
これはおそらく最も効率的な方法です。
if line != "" and line[0].isalpha():
...
if line.startswith((chr(x) for x in range(ord('a'), ord('z')+1)+range(ord('A'), ord('Z')+1)):
# do processsing
pass