Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để trích xuất các số từ một chuỗi trong Python?

Nếu bạn chỉ muốn số nguyên dương, bạn có thể chia nhỏ và tìm kiếm các số như sau:

>>> str ="h3110 23 cat 444.4 thỏ 11 2 dog">>> [int (s) for s in str.split () if s.isdigit ()] [23, 11, 2]  

Đối với tất cả các trường hợp khác, sử dụng biểu thức chính quy sẽ là lựa chọn tốt nhất. Ngoài ra, khi trích xuất các giá trị, tốt nhất bạn nên chuyển đổi chúng thành int từ chuỗi. Ví dụ:

>>> import re>>> [float (s) for s in re.findall (r '-? \ d + \.? \ d *', 'he33.45llo -42 Tôi là 32 chuỗi 30 ')] [33.45, -42.0, 32.0, 30.0]