การใช้โมดูล re เป็นวิธีที่เร็วที่สุดสำหรับงานนี้
ตัวอย่าง: แยกจำนวนเต็มและทศนิยมจากข้อความ
>> import re >>> s = 'my age is 25. I have 55.50 percent marks and 9764135408 is my number' >>> re.findall(r'\d*\.?\d+', s)
ผลลัพธ์
['25', '55.50', '9764135408']
คำอธิบายรูปแบบ \d*\.?\d+
\d*- ตัวเลข 0 ตัวขึ้นไป (ส่วนจำนวนเต็ม)\.?- จุดทศนิยม 0 หรือ 1 ตัว\d+- ตัวเลข 1 ตัวขึ้นไป (ส่วนทศนิยม)
ข้อควรระวัง: รูปแบบนี้จะจับคู่ตัวเลขที่อยู่ติดกัน เช่นใน "123.456.789" อาจได้ผลลัพธ์ที่ไม่คาดคิด ควรปรับรูปแบบให้เฉพาะเจาะจงตามรูปแบบข้อมูลจริง