Verificando se uma sequência começa com XXXX

428

Gostaria de saber como verificar se uma string começa com "hello" em Python.

No Bash, costumo fazer:

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

Como faço para conseguir o mesmo em Python?

John Marston
fonte

Respostas:

693
aString = "hello world"
aString.startswith("hello")

Mais informações sobre startswith.

RanRag
fonte
107

RanRag já respondeu para sua pergunta específica.

No entanto, de maneira geral, o que você está fazendo com

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

é uma correspondência de regex . Para fazer o mesmo em Python, você faria:

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

Obviamente, neste caso, somestring.startswith('hello')é melhor.

Shawabawa
fonte
3
Só queria acrescentar que, para o que eu estava fazendo, re.match e re.sub sempre foram significativamente mais lentos do que qualquer outro método.
Michał Leon 7/17
30

Caso deseje combinar várias palavras à sua palavra mágica, você pode passar as palavras para combinar como uma tupla:

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

Nota : startswithlevastr or a tuple of str

Veja os documentos .

user1767754
fonte
22

Também pode ser feito dessa maneira ..

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