Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะตรวจสอบได้อย่างไรว่าสตริงลงท้ายด้วยรายการต่อท้ายใน Python หรือไม่?


Python มีเมธอด endwith(tuple) ในคลาส String เมธอดนี้ยอมรับสตริงทูเพิลที่คุณต้องการค้นหาและถูกเรียกบนอ็อบเจกต์สตริง คุณสามารถเรียกวิธีนี้ด้วยวิธีต่อไปนี้:

string = 'core java'
print(string.endswith(('txt', 'xml', 'java', 'orld')))

ผลลัพธ์

True

มีอีกวิธีหนึ่งในการค้นหาว่าสตริงลงท้ายด้วยรายการส่วนต่อท้ายที่ระบุหรือไม่ คุณสามารถใช้ re.search จาก re โมดูล (นิพจน์ปกติ) เพื่อทำเช่นนั้น Regex ตีความ $ เป็นจุดสิ้นสุดบรรทัด นอกจากนี้เรายังต้องแยกส่วนต่อท้ายโดยใช้การจัดกลุ่มและ | สัญลักษณ์ใน regex ตัวอย่างเช่น

import re
string = 'core java'
print(bool(re.search('(java|xml|py|orld)$', string)))
print(bool(re.search('(java|xml|py|orld)$', 'core java')))
print(bool(re.search('(java|xml|py)$', 'Hello world')))

ผลลัพธ์

True
True
False

re.search ส่งคืนอ็อบเจ็กต์ เพื่อตรวจสอบว่ามีอยู่หรือไม่ เราต้องแปลงเป็นบูลีนโดยใช้ bool() คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Python regex ได้ที่นี่