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.