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

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


มีเมธอดที่เรียกว่า isdigit() ในคลาสสตริงที่คืนค่า จริง หากอักขระทั้งหมดในสตริงเป็นตัวเลข และมีอักขระอย่างน้อยหนึ่งตัว มิฉะนั้น เท็จ เรียกได้ดังนี้ −

ตัวอย่าง

print("12345".isdigit())
print("12345a".isdigit())

ผลลัพธ์

True
False

คุณยังสามารถใช้ regexes สำหรับผลลัพธ์เดียวกันได้ สำหรับการจับคู่ตัวเลขเท่านั้น เราสามารถเรียก re.match(regex, string) โดยใช้ regex:"^[0-9]+$"

ตัวอย่าง

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

ผลลัพธ์

False
True

re.match ส่งคืนอ็อบเจ็กต์ เพื่อตรวจสอบว่ามีอยู่หรือไม่ เราต้องแปลงเป็นบูลีนโดยใช้ bool()