Tôi đã thử một ví dụ đơn giản với phân tách chuỗi, nhưng nhận được một số hành vi không mong muốn. Đây là mã mẫu:Python - phân tách chuỗi với dấu phân tách mặc định so với dấu phân cách do người dùng xác định
def split_string(source,splitlist):
for delim in splitlist:
source = source.replace(delim, ' ')
return source.split(' ')
out = split_string("This is a test-of the,string separation-code!", " ,!-")
print out
>>> ['This', 'is', 'a', 'test', 'of', 'the', 'string', 'separation', 'code', '']
Như bạn có thể thấy, tôi có thêm chuỗi trống ở cuối danh sách khi tôi sử dụng dấu cách làm đối số dấu phân cách cho hàm split(). Tuy nhiên, nếu tôi không vượt qua bất kỳ đối số nào cho hàm split(), tôi sẽ không có chuỗi rỗng ở cuối danh sách đầu ra.
Từ những gì tôi đọc trong tài liệu python, họ cho biết đối số mặc định cho split() là dấu cách. Vì vậy, tại sao khi tôi rõ ràng vượt qua trong một '' như delimiter, nó tạo ra một chuỗi rỗng ở phần cuối của danh sách đầu ra?
wow, đó là vấn đề! – Bent