Memeriksa apakah sebuah string dimulai dengan XXXX

428

Saya ingin tahu cara memeriksa apakah suatu string dimulai dengan "halo" dengan Python.

Di Bash biasanya saya lakukan:

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

Bagaimana saya mencapai hal yang sama dengan Python?

John Marston
sumber

Jawaban:

693
aString = "hello world"
aString.startswith("hello")

Info lebih lanjut tentang startswith.

RanRag
sumber
107

RanRag sudah menjawabnya untuk pertanyaan spesifik Anda.

Namun, secara umum, apa yang Anda lakukan

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

adalah pertandingan regex . Untuk melakukan hal yang sama dengan Python, Anda akan melakukan:

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

Jelas, dalam hal ini, somestring.startswith('hello')lebih baik.

Shawabawa
sumber
3
Hanya ingin menambahkan itu untuk apa yang saya lakukan, re.match dan re.sub selalu jauh lebih lambat daripada metode lainnya.
Michał Leon
31

Jika Anda ingin mencocokkan beberapa kata dengan kata ajaib Anda, Anda bisa meneruskan kata-kata yang cocok dengan tuple:

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

Catatan : startswithdibutuhkanstr or a tuple of str

Lihat dokumen .

pengguna1767754
sumber
22

Bisa juga dilakukan dengan cara ini ..

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")
Aseem Yadav
sumber