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

จะตรวจสอบว่าสตริงมีเฉพาะอักขระบางตัวใน Python ได้อย่างไร?


คุณสามารถตรวจสอบได้ว่าสตริงมีเฉพาะผลลัพธ์ของอักขระบางตัวหรือไม่โดยใช้ชุด ประกาศชุดโดยใช้อักขระที่คุณต้องการอนุญาต ตัวอย่างเช่น หากเราต้องการตรวจสอบว่าสตริงมี 1, 2, 3 และ 4 เท่านั้นหรือไม่ เราสามารถใช้ −

ตัวอย่าง

from sets import Set
allowed_chars = Set('1234')
validationString = '121'
if Set(validationString).issubset(allowed_chars):
    print True
else:
    print False

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์แก่คุณ -

True

คุณยังสามารถใช้ regexes เพื่อผลลัพธ์เดียวกันได้ สำหรับการจับคู่เพียง 1, 2, 3 และ 4 เราสามารถเรียก re.match(regex, string) โดยใช้ regex:"^[1234]+$"

ตัวอย่าง

import re
print(bool(re.match('^[1234]+$', '123abc')))
print(bool(re.match('^[1234]+$', '123')))

ผลลัพธ์

False
True

โปรดทราบว่า regexes มีการใช้งานพิเศษสำหรับอักขระบางตัวและด้วยเหตุนี้จึงต้องมีการหลบหนี re.match ส่งคืนอ็อบเจ็กต์ เพื่อตรวจสอบว่ามีอยู่หรือไม่ เราต้องแปลงเป็นบูลีนโดยใช้ bool()