文字列がXXXXで始まるかどうかの確認


428

Pythonで文字列が「hello」で始まるかどうかを確認する方法を教えてください。

バッシュでは通常、次のようにします。

if [[ "$string" =~ ^hello ]]; then
 do something here
fi

Pythonで同じようにするにはどうすればよいですか?

回答:



107

RanRagはあなたの特定の質問に対して既に回答しています。

ただし、より一般的には、

if [[ "$string" =~ ^hello ]]

ある正規表現のマッチ。Pythonで同じことを行うには、次のようにします。

import re
if re.match(r'^hello', somestring):
    # do stuff

明らかに、この場合、somestring.startswith('hello')より良いです。


3
私がやっていることのためにそれを追加したかっただけですが、re.matchとre.subは常に他のどの方法よりもかなり低速でした。
のMichałレオン

30

複数の単語をマジックワードに一致させる場合は、一致する単語をタプルとして渡すことができます。

>>> magicWord = 'zzzTest'
>>> magicWord.startswith(('zzz', 'yyy', 'rrr'))
True

startswith取るstr or a tuple of str

docsを参照してください。


22

この方法でも行うことができます。

regex=re.compile('^hello')

## THIS WAY YOU CAN CHECK FOR MULTIPLE STRINGS
## LIKE
## regex=re.compile('^hello|^john|^world')

if re.match(regex, somestring):
    print("Yes")
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.