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

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


คุณสามารถใช้นิพจน์ทั่วไปเพื่อรับค่าจำนวนเต็มทั้งหมดตามลำดับที่เกิดขึ้นในอาร์เรย์ คุณสามารถใช้รหัสต่อไปนี้เพื่อรับค่าเหล่านั้น -

ตัวอย่าง

import re
s = "12 hello 52 19 some random 15 number"
# Extract numbers and cast them to int
list_of_nums = map(int, re.findall('\d+', s))
print list_of_nums

ผลลัพธ์

[12, 52, 19, 15]

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

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