Проверка, начинается ли строка с XXXX - PullRequest
389 голосов
/ 10 января 2012

Я хотел бы знать, как проверить, начинается ли строка с «hello» в Python.

В Bash я обычно делаю:

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

Как мне добиться того же в Python?

Ответы [ 4 ]

638 голосов
/ 10 января 2012
aString = "hello world"
aString.startswith("hello")

Подробнее о startwith

96 голосов
/ 10 января 2012

RanRag уже ответил на ваш конкретный вопрос.

Однако в целом то, что вы делаете с

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

, является регулярным выражением совпадение.Чтобы сделать то же самое в Python, вы должны сделать:

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

Очевидно, что в этом случае somestring.startswith('hello') лучше.

24 голосов
/ 10 ноября 2017

Если вы хотите сопоставить несколько слов с вашим волшебным словом, вы можете передать слова для сопоставления в виде кортежа:

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

Примечание : startswith занимает str or a tuple of str

См. документы .

19 голосов
/ 24 сентября 2016

Можно сделать и так ...

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")
...