การตรวจสอบว่าสตริงเริ่มต้นด้วย XXXX หรือไม่


427

ฉันต้องการทราบวิธีตรวจสอบว่าสตริงเริ่มต้นด้วย "hello" ใน Python หรือไม่

ใน Bash ฉันมักจะทำ:

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

ฉันจะประสบความสำเร็จใน Python ได้อย่างไร

คำตอบ:



105

RanRag ได้ตอบไปแล้วสำหรับคำถามเฉพาะของคุณ

อย่างไรก็ตามโดยทั่วไปแล้วคุณกำลังทำอะไรอยู่

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

เป็นการแข่งขันregex ในการทำเช่นเดียวกันกับ Python คุณจะต้อง:

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

เห็นได้ชัดว่าในกรณีsomestring.startswith('hello')นี้ดีกว่า


3
แค่อยากจะเพิ่มสิ่งนั้นสำหรับสิ่งที่ฉันทำ re.match และ re.sub มักจะช้ากว่าวิธีอื่น ๆ เสมอ
Michał Leon

29

ในกรณีที่คุณต้องการจับคู่หลายคำกับคำวิเศษของคุณคุณสามารถส่งคำเพื่อจับคู่เป็น tuple:

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

หมายเหตุ : startswithใช้str or a tuple of str

ดูเอกสาร


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.