Comprobando si una cadena comienza con XXXX


430

Me gustaría saber cómo verificar si una cadena comienza con "hola" en Python.

En Bash suelo hacer:

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

¿Cómo logro lo mismo en Python?

Respuestas:



108

RanRag ya lo ha respondido para su pregunta específica.

Sin embargo, más generalmente, lo que estás haciendo con

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

Es un partido de expresiones regulares . Para hacer lo mismo en Python, harías:

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

Obviamente, en este caso, somestring.startswith('hello')es mejor.


3
Solo quería agregar que para lo que estaba haciendo, re.match y re.sub siempre fue significativamente más lento que cualquier otro método.
— Michał Leon

33

En caso de que desee hacer coincidir varias palabras con su palabra mágica, puede pasar las palabras para que coincidan como una tupla:

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

startswith toma una cadena o una tupla de cadenas.


23

También se puede hacer de esta manera ...

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")
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.