Überprüfen, ob eine Zeichenfolge mit XXXX beginnt


427

Ich möchte wissen, wie man prüft, ob ein String in Python mit "Hallo" beginnt.

In Bash mache ich normalerweise:

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

Wie erreiche ich dasselbe in Python?

Antworten:



105

RanRag hat es bereits für Ihre spezielle Frage beantwortet .

Im Allgemeinen jedoch, mit was Sie tun

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

ist ein Regex- Match. Um dasselbe in Python zu tun, würden Sie Folgendes tun:

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

Offensichtlich ist in diesem Fall somestring.startswith('hello')besser.


3
Ich wollte nur hinzufügen, dass re.match und re.sub für das, was ich tat, immer deutlich langsamer waren als jede andere Methode.
— Michał Leon

29

Wenn Sie Ihrem Zauberwort mehrere Wörter zuordnen möchten, können Sie die passenden Wörter als Tupel übergeben:

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

Hinweis : startswithdauertstr or a tuple of str

Siehe die Dokumente .


21

Kann auch so gemacht werden ..

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")
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.