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.