Lấy các số ra khỏi một chuỗi

Để lấy các số ra khỏi một chuỗi

Để lấy các số ra khỏi một chuỗi, bạn có thể sử dụng kết hợp của các hàm xử lý chuỗi và các phương pháp kiểm tra ký tự trong Python. Dưới đây là một ví dụ về cách thực hiện điều này:

def extract_numbers(string):
    numbers = []
    current_number = “”
 
    for char in string:
        if char.isdigit():
            current_number += char
        elif current_number:
            numbers.append(int(current_number))
            current_number = “”
 
    if current_number:
        numbers.append(int(current_number))
 
    return numbers
 
string = “abc123def456xyz789”
numbers = extract_numbers(string)
print(numbers)

Trong ví dụ này, chúng ta tạo một hàm extract_numbers() nhận vào một string (chuỗi chứa các số). Hàm này sử dụng một vòng lặp for để duyệt qua từng ký tự trong chuỗi. Trong vòng lặp, chúng ta kiểm tra xem ký tự có phải là một chữ số sử dụng isdigit(). Nếu là chữ số, chúng ta nối ký tự đó vào biến current_number. Nếu không phải chữ số và current_number không rỗng, tức là chúng ta đã kết thúc một số, chúng ta chuyển đổi current_number thành một số nguyên và thêm vào danh sách numbers. Sau đó, chúng ta đặt current_number về chuỗi rỗng để chuẩn bị cho số tiếp theo.

Cuối cùng, sau khi vòng lặp kết thúc, chúng ta kiểm tra xem current_number có chứa một số cuối cùng không. Nếu có, chúng ta chuyển đổi nó thành số nguyên và thêm vào danh sách numbers.

Kết quả khi chạy ví dụ trên sẽ là danh sách các số được trích xuất từ chuỗi:

[123, 456, 789]

Trong ví dụ này, các số “123”, “456” và “789” đã được trích xuất từ chuỗi “abc123def456xyz789”.

 

Trả lời