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?

Respostas:



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.


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 .


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")
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.