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.