Перевірка, чи починається рядок з XXXX


427

Я хотів би знати, як перевірити, чи починається рядок з "привіт" в Python.

У Bash я зазвичай роблю:

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

Як досягти того ж у Python?

Відповіді:



105

RanRag вже відповів на це на ваше конкретне запитання.

Однак, загалом, з чим ти робиш

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

є збігом регулярних виразів . Щоб зробити те ж саме в Python, ви зробили б:

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

Очевидно, що в цьому випадку somestring.startswith('hello')краще.


3
Просто хотів додати, що для того, що я робив, re.match та re.sub завжди був значно повільнішим, ніж будь-який інший метод.
Міхал Леон

29

Якщо ви хочете зіставити декілька слів з вашим чарівним словом, ви можете передати ці слова у відповідність кортежу:

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

Примітка : startswithбереstr or a tuple of str

Дивіться документи .


21

Також можна зробити так.

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")
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.