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?

Jawaban:



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.


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 .


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")
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.