Cách tách một chuỗi trong Python (Dấu phân cách & Maxsplit)

Tìm hiểu cách tách một chuỗi thành một danh sách trong Python bằng phương thức Split(). Khám phá việc phân tách bằng dấu cách, dấu phẩy, dòng mới và giới hạn số lượng phân tách.

Hãy thử Giải pháp này trong Trình chỉnh sửa

Tổng quan

Tách chuỗi là một trong những thao tác xử lý văn bản phổ biến nhất. Cho dù bạn đang phân tích cú pháp tệp CSV, chia nhỏ nhật ký, xử lý dữ liệu đầu vào của người dùng hay trích xuất các từ từ tài liệu, các phương thức chuỗi tích hợp của Python sẽ khiến nhiệm vụ này trở nên đơn giản. Phương thức chính cho việc này là `.split()`, nó chia một chuỗi thành một danh sách các chuỗi con.

Theo mặc định, việc gọi `split()` mà không có bất kỳ đối số nào sẽ chia chuỗi theo bất kỳ khoảng trắng nào (dấu cách, tab, dòng mới) và loại bỏ khoảng trắng liên tiếp. Nếu bạn cần phân vùng một chuỗi dựa trên một ký tự cụ thể, chẳng hạn như dấu phẩy trong dữ liệu CSV, bạn chuyển ký tự đó làm dấu phân cách (ví dụ: `text.split(",")`).

Phương thức `split()` cũng chấp nhận tham số tùy chọn thứ hai được gọi là `maxsplit`. Điều này xác định số lượng phân chia tối đa cần được thực hiện. Phần còn lại của chuỗi được trả về dưới dạng phần tử cuối cùng của danh sách, điều này rất hữu ích khi bạn chỉ muốn phân tích một vài mã thông báo đầu tiên của lệnh hoặc thông báo.

Đầu ra mã & thực thi

Tập lệnh này minh họa việc phân tách chuỗi bằng cách sử dụng dấu phân cách mặc định, dấu phân cách tùy chỉnh và giới hạn phân tách bằng cách sử dụng maxsplit.

sentence = "Python is fun to learn"
csv_data = "apple,banana,orange,grape"

# 1. Split by whitespace (default)
words = sentence.split()
print("Whitespace split:", words)

# 2. Split by comma separator
fruits = csv_data.split(",")
print("Comma split:", fruits)

# 3. Using maxsplit parameter
limited_split = csv_data.split(",", maxsplit=2)
print("Maxsplit of 2:", limited_split)
Đầu ra thiết bị đầu cuối
Whitespace split: ['Python', 'is', 'fun', 'to', 'learn']
Comma split: ['apple', 'banana', 'orange', 'grape']
Maxsplit of 2: ['apple', 'banana', 'orange,grape']

Triển khai từng bước

  • Gọi phương thức .split() trên biến chuỗi.
  • Chuyển một chuỗi phân cách như ',' hoặc '\n' để phân tách bằng dấu phân cách tùy chỉnh.
  • Sử dụng đối số maxsplit để ngừng phân tách sau một số mục cụ thể.

Câu hỏi thường gặp

Split() xử lý các khoảng trắng liên tiếp như thế nào?

Theo mặc định (không có đối số), các khoảng trắng liên tiếp được coi là dấu phân cách đơn. Tuy nhiên, nếu bạn vượt qua " ", các khoảng trắng liên tiếp sẽ tạo ra các chuỗi trống trong danh sách đầu ra.

Làm cách nào tôi có thể chia một chuỗi theo nhiều dấu phân cách khác nhau?

Để phân chia bằng nhiều dấu phân cách (như dấu phẩy, dấu cách và dấu chấm phẩy), hãy sử dụng biểu thức chính quy thông qua hàm re.split().

Chủ đề liên quan

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.