Hướng dẫn chi tiết về cách tách chuỗi trong Python|Cách sử dụng split, splitlines, re.split

1. Sự cần thiết của việc tách chuỗi trong Python

1.1. Tầm quan trọng của thao tác chuỗi

Trong Python, thao tác chuỗi đóng vai trò rất quan trọng. Việc xử lý dữ liệu văn bản hàng ngày, tiền xử lý dữ liệu phân tích, và nhiều trường hợp khác đều yêu cầu tách chuỗi. Ví dụ, khi phân tích tệp CSV, xử lý đầu vào của người dùng hoặc thao tác với dữ liệu thu thập từ web scraping, việc tách chuỗi là một kỹ thuật không thể thiếu.

1.2. Những gì bạn sẽ học trong bài viết này

Trong bài viết này, chúng tôi sẽ hướng dẫn chi tiết từ các phương pháp cơ bản để tách chuỗi trong Python đến cách sử dụng biểu thức chính quy nâng cao. Chúng tôi sẽ tập trung vào cách sử dụng các phương thức chính như split(), splitlines(), re.split() và cung cấp các ví dụ thực tiễn để bạn có thể áp dụng ngay.

2. Phương pháp tách chuỗi cơ bản với split() trong Python

2.1. split() là gì?

Phương thức split() là một trong những phương pháp cơ bản nhất để thao tác với chuỗi trong Python. Nó tách chuỗi dựa trên ký tự phân tách (delimiter) được chỉ định và trả về một danh sách. Nếu không chỉ định delimiter, khoảng trắng (dấu cách, tab, xuống dòng) sẽ được sử dụng làm mặc định.

text = "apple banana cherry"
fruits = text.split()
print(fruits)  # Kết quả: ['apple', 'banana', 'cherry']

2.2. Chỉ định ký tự phân tách

Bạn cũng có thể chỉ định ký tự phân tách để tách chuỗi. Ví dụ, nếu chuỗi được phân tách bằng dấu phẩy hoặc dấu chấm phẩy, bạn có thể sử dụng cách sau:

text = "apple,banana,cherry"
fruits = text.split(",")
print(fruits)  # Kết quả: ['apple', 'banana', 'cherry']

2.3. Giới hạn số lần tách

Tham số thứ hai của phương thức split() cho phép giới hạn số lần tách.

text = "apple,banana,cherry,orange"
fruits = text.split(",", 2)
print(fruits)  # Kết quả: ['apple', 'banana', 'cherry,orange']

Cách này rất hữu ích khi bạn muốn giữ nguyên phần còn lại của chuỗi sau một số lần tách nhất định.

RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. Cách tách chuỗi dựa trên ký tự xuống dòng với splitlines()

3.1. Giới thiệu về phương thức splitlines()

Phương thức splitlines() tách chuỗi dựa trên các ký tự xuống dòng. Nó đặc biệt hữu ích khi cần xử lý nội dung của một tệp văn bản theo từng dòng hoặc khi làm việc với dữ liệu có chứa ký tự xuống dòng.

text = """apple
banana
cherry"""
lines = text.splitlines()
print(lines)  # Kết quả: ['apple', 'banana', 'cherry']

3.2. Giữ lại ký tự xuống dòng

Phương thức splitlines() có một tùy chọn để giữ lại ký tự xuống dòng. Nếu truyền vào tham số True, các ký tự xuống dòng sẽ được giữ lại trong chuỗi sau khi tách.

text = """apple\nbanana\ncherry"""
lines = text.splitlines(True)
print(lines)  # Kết quả: ['apple\n', 'banana\n', 'cherry']

Phương pháp này rất hữu ích khi bạn muốn giữ nguyên định dạng gốc của văn bản trong quá trình xử lý.

4. Tách chuỗi bằng re.split() với biểu thức chính quy

4.1. Cách sử dụng cơ bản của re.split()

Với module re trong Python, bạn có thể sử dụng biểu thức chính quy để tách chuỗi một cách linh hoạt hơn. Điều này rất hữu ích khi cần tách chuỗi dựa trên nhiều ký tự phân tách khác nhau.

import re
text = "apple123banana456cherry"
fruits = re.split(r'\d+', text)
print(fruits)  # Kết quả: ['apple', 'banana', 'cherry']

4.2. Tách chuỗi với nhiều ký tự phân tách

Nếu muốn tách chuỗi bằng nhiều loại ký tự phân tách cùng lúc, bạn có thể sử dụng biểu thức chính quy để chỉ định chúng. Ví dụ sau đây sử dụng dấu phẩy, dấu chấm phẩy và dấu cách làm ký tự phân tách:

text = "apple, banana; cherry"
fruits = re.split(r'[;, ]+', text)
print(fruits)  # Kết quả: ['apple', 'banana', 'cherry']

4.3. Tách chuỗi theo mẫu phức tạp

Với re.split(), bạn có thể tách chuỗi dựa trên các mẫu ký tự cụ thể. Ví dụ, nếu bạn muốn tách chuỗi khi gặp một chuỗi số cụ thể, bạn có thể làm như sau:

text = "apple100banana200cherry"
fruits = re.split(r'\d+', text)
print(fruits)  # Kết quả: ['apple', 'banana', 'cherry']

 

年収訴求

5. Các phương thức hữu ích khác: partition() và rpartition()

5.1. Cách sử dụng phương thức partition()

Phương thức partition() giúp tách chuỗi thành ba phần dựa trên ký tự phân tách được chỉ định. Điểm đặc biệt là nó giữ lại ký tự phân tách trong kết quả, điều này rất hữu ích khi bạn cần giữ lại thông tin này.

text = "apple@banana@cherry"
parts = text.partition("@")
print(parts)  # Kết quả: ('apple', '@', 'banana@cherry')

5.2. Tách chuỗi từ phía phải bằng rpartition()

Phương thức rpartition() hoạt động giống như partition(), nhưng nó tìm kiếm ký tự phân tách từ phía bên phải. Điều này rất hữu ích khi bạn muốn lấy phần cuối cùng của chuỗi sau khi tách.

text = "apple@banana@cherry"
parts = text.rpartition("@")
print(parts)  # Kết quả: ('apple@banana', '@', 'cherry')

6. Ví dụ thực tế: Ứng dụng tách chuỗi trong Python

6.1. Ứng dụng tách chuỗi để xử lý dữ liệu nhập từ người dùng

Trong một số trường hợp, bạn có thể cần tách dữ liệu do người dùng nhập vào để xử lý. Ví dụ dưới đây tách chuỗi theo dấu phẩy và hiển thị từng phần dữ liệu.

user_input = "name:apple, age:30, city:Tokyo"
info = user_input.split(", ")
for item in info:
    key, value = item.split(":")
    print(f"{key}: {value}")

6.2. Tách dữ liệu từ file

Khi làm việc với tệp văn bản, bạn có thể muốn đọc dữ liệu và tách nó theo từng dòng. Đoạn mã dưới đây minh họa cách đọc dữ liệu từ một tệp và tách nó thành danh sách các dòng.

with open('data.txt', 'r') as file:
    lines = file.read().splitlines()
print(lines)

 

年収訴求

7. Tổng kết: Làm chủ phương thức tách chuỗi trong Python

7.1. Tóm tắt

Python cung cấp nhiều phương thức mạnh mẽ để tách chuỗi, bao gồm split(), splitlines(), re.split(), partition(), v.v. Việc thành thạo các phương thức này giúp bạn xử lý dữ liệu một cách hiệu quả hơn trong các ứng dụng thực tế.

7.2. Bước tiếp theo

Hãy thử áp dụng các phương thức đã học để tạo một tập lệnh nhỏ hoặc dự án thực tế. Bằng cách này, bạn có thể tìm ra cách tiếp cận phù hợp nhất với từng tình huống cụ thể.