Rate this post

Trong bài viết này, bạn sẽ học cách tách một chuỗi trong Python.

Đầu tiên, chúng tôi sẽ giới thiệu cho bạn cú pháp của phương thức .split(). Sau đó, bạn sẽ thấy cách sử dụng phương thức .split() có và không có đối số, bằng cách sử dụng các ví dụ code trong quá trình thực hiện.

Các bài viết liên quan:

Đây là những gì chúng tôi sẽ đề cập.

Cú pháp phương thức .split()

Bạn sử dụng phương thức .split() để tách một chuỗi thành một list.

Cú pháp chung cho phương thức .split() giống như sau:

string.split(separator, maxsplit)

Giải thích tham số:

  • string là chuỗi bạn muốn tách. Đây là chuỗi mà bạn gọi phương thức .split().
  • Phương thức .split() chấp nhận hai đối số.
    • Đối số tùy chọn đầu tiên là separator, xác định loại dấu tách sẽ sử dụng để tách chuỗi. Nếu đối số này không được cung cấp, thì giá trị mặc định là bất kỳ khoảng trắng, nghĩa là chuỗi sẽ tách ra bất cứ khi nào .split() gặp bất kỳ khoảng trắng nào.
    • Đối số tùy chọn thứ hai là maxsplit, chỉ định số lần phân tách tối đa mà phương thức .split() sẽ thực hiện. Nếu đối số này không được cung cấp, thì giá trị mặc định là -1, nghĩa là không có giới hạn về số lần phân tách và .split() sẽ phân tách chuỗi trên tất cả các lần xuất hiện mà nó gặp phải dấu tách.
  • Phương thức .split() trả về một danh sách chuỗi con mới và chuỗi gốc không bị sửa đổi.

Phương thức .split() hoạt động như thế nào khi không có đối số nào?

Đây là cách bạn sẽ tách một chuỗi thành một danh sách bằng cách sử dụng phương thức .split() mà không sử dụng đối số nào:

str_example = "chao mung cac ban den python"

# phân tách str_example thành một danh sách các từ
list_split = str_example.split()
#xuất ra list
print(str_example)
print(list_split)

# kiểm tra kiểu dữ liệu của list_split bằng cách sử dụng hàm type()
print(type(list_split))

Đầu ra cho thấy rằng mỗi từ tạo thành chuỗi hiện là một danh sách và chuỗi gốc được giữ nguyên.

Khi bạn không sử dụng một trong hai đối số mà phương thức .split(), thì theo mặc định, nó sẽ tách chuỗi mỗi khi gặp khoảng trắng cho đến khi chuỗi kết thúc.

Điều gì xảy ra khi bạn không chuyển bất kỳ đối số nào cho phương thức .split() và nó gặp các khoảng trắng liên tiếp thay vì chỉ một?

Trong trường hợp này, phương thức .split() xử lý mọi khoảng trắng liên tiếp như thể chúng là một khoảng trắng duy nhất.

str_example = "chung ta cung   coding"

str_split = str_example.split()

print(str_split)

Phương thức .split() hoạt động như thế nào với đối số separator ?

Như bạn đã thấy trước đó, khi không có đối số phân cách, giá trị mặc định cho nó là khoảng trắng. Điều đó nói rằng, bạn có thể đặt một dấu phân cách khác.

Dấu tách sẽ ngắt và chia chuỗi bất cứ khi nào nó gặp ký tự bạn chỉ định và sẽ trả về danh sách các chuỗi con.

Ví dụ: bạn có thể làm cho chuỗi phân tách bất cứ khi nào phương thức .split() gặp dấu chấm, .:

website = "www.websitehcm.com"

website_split = website.split(".")

print(website_split)

Trong ví dụ trên, chuỗi sẽ tách ra bất cứ khi nào .split() gặp một .

Hãy nhớ rằng chúng ta không chỉ định dấu chấm theo sau là khoảng trắng. Điều đó sẽ không hoạt động vì chuỗi không chứa dấu chấm theo sau là khoảng trắng:

website = "www.websitehcm.com"

website_split = website.split(". ")

print(website_split)

Bây giờ, hãy xem lại ví dụ cuối cùng từ phần trước.

Khi không có đối số phân cách, các khoảng trắng liên tiếp được xử lý như thể chúng là khoảng trắng đơn.

Tuy nhiên, khi bạn chỉ định một khoảng trắng làm dấu phân cách, thì chuỗi sẽ tách ra mỗi khi nó gặp một ký tự khoảng trắng:

str_example = "chung ta cung   coding"

str_split = str_example.split(" ")

print(str_split)

Trong ví dụ trên, mỗi lần .split() gặp một ký tự khoảng trắng, nó sẽ tách từ đó và thêm khoảng trống dưới dạng một mục danh sách.

Phương thức .split() hoạt động như thế nào với đối số maxsplit?

Khi không có đối số maxsplit, sẽ không có giới hạn cụ thể về điểm dừng quá trình chia tách.

Trong ví dụ đầu tiên của phần trước, .split() tách chuỗi mỗi lần nó gặp dấu tách cho đến khi chạm đến cuối chuỗi.

Tuy nhiên, bạn có thể chỉ định thời điểm bạn muốn quá trình phân tách kết thúc.

website = "www.websitehcm.com"

website_split = website.split(".",1)

print(website_split)

# output
# ['www', 'websitehcm.com']

Trong ví dụ trên, chúng đặt maxsplit thành 1 và một danh sách được tạo với hai mục danh sách.

Tôi đã xác định rằng danh sách sẽ tách ra khi gặp một dấu chấm. Khi nó gặp một dấu chấm, hoạt động sẽ kết thúc và phần còn lại của chuỗi sẽ là một mục danh sách của chính nó.

Phần kết luận

Bây giờ bạn đã biết cách tách một chuỗi trong Python bằng phương thức .split().

Tôi hy vọng bạn tìm thấy hướng dẫn này hữu ích.

Bạn sẽ bắt đầu từ những điều cơ bản nhất, và split là một phương thức phổ biến trong quá trình xử lý chuỗi.

Cuối cùng, các bạn nên cải thiện kỹ năng code của mình thông qua những bài tập code python

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now