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

Python Regex เพื่อแยกค่าตัวเลขสูงสุดจากสตริง


วิธีที่ง่ายที่สุดในการแยกค่าตัวเลขสูงสุดจากสตริงโดยใช้ regex คือ -

  • ใช้โมดูล regex เพื่อแยกตัวเลขทั้งหมดออกจากสตริง
  • หาค่าสูงสุดจากตัวเลขเหล่านี้

ตัวอย่างเช่น สำหรับสตริงอินพุต −

ในเมืองนี้มีผู้คน 121005 คน 1587469 คนในเมืองใกล้เคียง และ 18775994 คนในเมืองที่ห่างไกล

เราควรจะได้ผลลัพธ์ -

18775994

เราสามารถใช้ "\d+" regex เพื่อค้นหาตัวเลขทั้งหมดในสตริง เนื่องจาก \d หมายถึงตัวเลข และเครื่องหมายบวกจะค้นหาสตริงที่ยาวที่สุดของตัวเลขต่อเนื่องกัน เราสามารถใช้งานได้โดยใช้แพ็คเกจใหม่ดังนี้ −

import re

# Extract all numeric values from the string.
occ = re.findall("\d+", "There are 121005 people in this city, 1587469 in the neighbouring city and 18775994 in a far off city.")

# Convert the numeric values from string to int.
num_list = map(int, occ)

# Find and print the max
print(max(num_list))

สิ่งนี้จะให้ผลลัพธ์ -

18775994