Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Trích xuất tất cả chữ số từ chuỗi

Trích xuất các số nguyên từ chuỗi (các từ chỉ chứa chữ số). Sử dụng list comprehension và phương thức isdigit().

Mã nguồn

my_string = "python is 12 fun 2 learn"
print("Chuỗi:", my_string)

# Tách từ, lọc từ isdigit(), chuyển thành int
my_result = [int(i) for i in my_string.split() if i.isdigit()]

print("Danh sách số:", my_result)

Kết quả

Chuỗi: python is 12 fun 2 learn
Danh sách số: [12, 2]

Giải thích

  • my_string.split() tách chuỗi thành list từ: ['python', 'is', '12', 'fun', '2', 'learn'].
  • i.isdigit() trả về True nếu chuỗi i chỉ chứa chữ số 0-9.
  • int(i) chuyển chuỗi số thành integer.
  • Chỉ lấy các từ là số nguyên dương (không dấu, không thập phân).

Mở rộng: Trích xuất số trong chuỗi không tách từ


import re
my_string = "python12fun2learn"
numbers = [int(x) for x in re.findall(r'\d+', my_string)]
print(numbers)  # [12, 2]

re.findall(r'\d+', ...) tìm tất cả dãy số liên tiếp, phù hợp cho chuỗi không có dấu cách.