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

Tìm tất cả các số trong một chuỗi bằng cách sử dụng biểu thức chính quy trong Python

Chỉ trích xuất các số từ một văn bản là một yêu cầu rất phổ biến trong phân tích dữ liệu python. Nó được thực hiện dễ dàng bằng cách sử dụng thư viện biểu thức chính quy python. Thư viện này giúp chúng tôi xác định các mẫu cho các chữ số có thể được trích xuất dưới dạng chuỗi con.

Ví dụ

Trong ví dụ dưới đây, chúng tôi sử dụng hàm findall () từ mô-đun re. Các tham số của hàm này là mẫu mà chúng ta muốn trích xuất và chuỗi mà chúng ta muốn trích xuất từ ​​đó. Xin lưu ý với ví dụ dưới đây, chúng tôi chỉ lấy các chữ số chứ không phải dấu thập phân hoặc dấu âm.

import re
str=input("Enter a String with numbers: \n")
#Create a list to hold the numbers
num_list = re.findall(r'\d+', str)
print(num_list)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Enter a String with numbers:
Go to 13.8 miles and then -4.112 miles.
['13', '8', '4', '112']

Chụp dấu chấm và dấu thập phân

Chúng tôi có thể mở rộng mẫu tìm kiếm để bao gồm các dấu thập phân và các dấu âm hoặc dương trong kết quả tìm kiếm.

Ví dụ

import re
str=input("Enter a String with numbers: \n")
#Create a list to hold the numbers
num_list=re.findall(r'[-+]?[.]?[\d]+',str)
print(num_list)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Enter a String with numbers:
Go to 13.8 miles and then -4.112 miles.
['13', '.8', '-4', '.112']