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

วิธีดึงค่าจำนวนเต็มจากสตริงใน Python

สามารถใช้ regular expressions ดึงค่าจำนวนเต็มทั้งหมดตามลำดับการปรากฏในอาร์เรย์ ใช้โค้ดต่อไปนี้เพื่อดึงค่าเหล่านั้น:

ตัวอย่าง

import re
s = "12 hello 52 19 some random 15 number"
# ดึงตัวเลขและแปลงเป็น int
list_of_nums = list(map(int, re.findall(r'\d+', s)))
print(list_of_nums)

ผลลัพธ์

[12, 52, 19, 15]

หากต้องการรวมตัวเลขทั้งหมดเป็นตัวเลขเดียวและแสดง สามารถใช้เมธอด str.isdigit กรองได้ ตัวอย่าง:

>>> s = "12 hello 52 19 some random 15 number"
>>> print(int(''.join(filter(str.isdigit, s))))
12521915