Verifica se una stringa inizia con XXXX


430

Vorrei sapere come verificare se una stringa inizia con "ciao" in Python.

In Bash di solito faccio:

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

Come ottengo lo stesso in Python?

Risposte:



108

RanRag ha già risposto alla tua domanda specifica.

Tuttavia, più in generale, cosa stai facendo

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

è una corrispondenza regex . Per fare lo stesso in Python, dovresti:

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

Ovviamente, in questo caso, somestring.startswith('hello')è meglio.


3
Volevo solo aggiungere che per quello che stavo facendo, re.match e re.sub erano sempre significativamente più lenti di qualsiasi altro metodo.
Michał Leon,

33

Nel caso in cui desideri abbinare più parole alla tua parola magica, puoi passare le parole da abbinare come tupla:

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

startswith prende una stringa o una tupla di stringhe.


23

Può essere fatto anche in questo modo ..

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")
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.