Lấy số từ chuỗi (string) trong Python là một nhiệm vụ phổ biến trong lập trình khi bạn cần trích xuất thông tin số học từ dữ liệu văn bản. Chuỗi có thể chứa không chỉ chữ cái mà còn cả các con số và ký tự đặc biệt. Trong bài viết này, chúng ta sẽ tìm hiểu cách lấy số từ chuỗi trong Python, cùng với các ví dụ và cách xử lý các tình huống phức tạp.
Sử dụng vòng lặp và kiểm tra
Một cách đơn giản để lấy số từ chuỗi là duyệt qua từng ký tự trong chuỗi và kiểm tra từng ký tự xem có phải là số hay không. Bạn có thể sử dụng vòng lặp for để thực hiện điều này:
text = "Hello 123 World 456" |
Kết quả của đoạn mã trên sẽ là chuỗi “123456” chứa tất cả các số trong chuỗi gốc.
Sử dụng biểu thức chính quy (Regular Expressions)
Một cách mạnh mẽ và linh hoạt hơn để lấy số từ chuỗi là sử dụng biểu thức chính quy (regex). Python cung cấp thư viện re để làm việc với regex. Với regex, bạn có thể tạo các mẫu tìm kiếm phức tạp để trích xuất số từ chuỗi:
import re |
Kết quả:
['123', '456'] |
Trong ví dụ này, r'\d+' là một biểu thức chính quy, nó tìm kiếm một hoặc nhiều chữ số liên tiếp.
Sử dụng phương thức str.isnumeric()
Phương thức str.isnumeric() kiểm tra xem chuỗi có phải là một số hay không. Nó trả về True nếu toàn bộ chuỗi là một số và False nếu không phải:
text = "12345" |
Bạn có thể sử dụng phương thức này để kiểm tra từng phần của chuỗi và lấy ra các số hợp lệ.
Xử lý các dấu phân cách và ký tự đặc biệt
Trong trường hợp chuỗi chứa dấu phân cách hoặc ký tự đặc biệt, việc lấy số có thể phức tạp hơn. Bạn có thể sử dụng một kết hợp của các phương pháp đã đề cập trước đó để xử lý tình huống này.
Ví dụ, bạn có thể sử dụng biểu thức chính quy để tách các phần con của chuỗi chứa số, sau đó kiểm tra từng phần con:
import re |
Kết quả sẽ là danh sách chứa các số từ chuỗi, bao gồm số thập phân.
['123.45', '10'] |
Xử lý số âm và dấu +
Nếu chuỗi có thể chứa số âm hoặc dấu “+”, bạn cần xem xét thêm trường hợp này. Sử dụng regex có thể giúp bạn xử lý các tình huống này:
import re |
Kết quả:
['+123', '-456'] |
Biểu thức r'[-+]?\d+\.\d+|[-+]?\d+' cho phép bạn trích xuất số âm, số dương và số thập phân.
Kết luận
Trên đây Kiyoshi đã hướng dẫn bạn cách lấy số trong chuỗi python rồi. Lấy số từ chuỗi trong Python là một nhiệm vụ quan trọng trong việc xử lý và trích xuất thông tin từ dữ liệu văn bản. Python cung cấp nhiều cách khác nhau để thực hiện điều này, bao gồm sử dụng vòng lặp và kiểm tra, biểu thức chính quy, phương thức isnumeric() và xử lý các trường hợp đặc biệt như số âm và dấu “+”. Hiểu cách sử dụng các phương pháp này giúp bạn xử lý và trích xuất thông tin số học từ chuỗi một cách hiệu quả trong các ứng dụng Python của bạn.
URL Link
HOME › python cơ bản - lập trình python cho người mới bắt đầu>>09. chuỗi trong python

