web-dev-qa-db-fra.com

Vérifier si une chaîne commence par XXXX

Je voudrais savoir comment vérifier si une chaîne commence par "hello" en Python.

Dans Bash je fais habituellement:

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

Comment puis-je obtenir la même chose en Python?

395
John Marston
aString = "hello world"
aString.startswith("hello")

Plus d'infos sur startwith

647
RanRag

RanRag a déjà répond le pour votre question spécifique.

Cependant, plus généralement, ce que vous faites avec

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

est une correspondance regex . Pour faire la même chose en Python, vous feriez:

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

Évidemment, dans ce cas, somestring.startswith('hello') est meilleur.

96
Shawabawa

Au cas où vous voudriez faire correspondre plusieurs mots à votre mot magique, vous pouvez transmettre les mots à faire correspondre comme un tuple:

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

Remarque : startswith prend str or a Tuple of str

Voir le docs .

24
user1767754

Peut aussi être fait de cette façon ..

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