web-dev-qa-db-ja.com

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

Pythonで文字列が "hello"で始まるかどうかを確認する方法を知りたいです。

Bashでは、通常は次のようにします。

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

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

379
John Marston
aString = "hello world"
aString.startswith("hello")
621
RanRag

RanRagはすでに答えています あなたの具体的な質問にお答えします。

ただし、より一般的には、あなたがしていること

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

正規表現 の一致です。 Pythonで同じことをするには、次のようにします。

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

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

93
Shawabawa

あなたの魔法の単語にmultipleの単語をマッチさせたい場合は、タプルとしてマッチさせるために単語を渡すことができます。

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

startswithstr or a Tuple of strを取ります

docs を参照してください。

23
user1767754

これもできます。

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")
19
Aseem Yadav