Thường xuyên cần tách chuỗi thành nhiều phần dựa trên dấu phân cách (delimiter). Python cung cấp phương thức split() cho mục đích này.
Cú pháp
str.split(separator=None, maxsplit=-1)
separator: Dấu phân cách (mặc định: whitespace bất kỳ)maxsplit: Số lần tách tối đa (mặc định: -1 = không giới hạn)
Ví dụ
text = "Apple Banana Grapes Apple" # Có 2 space giữa Banana và Grapes
# Mặc định: tách theo bất kỳ whitespace nào, gộp nhiều whitespace liên tiếp
print(text.split())
# ['Apple', 'Banana', 'Grapes', 'Apple']
# Tách chính xác theo 1 space, tối đa 2 lần
print(text.split(' ', 2))
# ['Apple', 'Banana', ' Grapes Apple']
Các trường hợp thường gặp
# Tách CSV
"a,b,c".split(",") # ['a', 'b', 'c']
# Tách dòng
"line1\nline2\nline3".splitlines() # ['line1', 'line2', 'line3']
# Tách với nhiều delimiter (dùng re.split)
import re
re.split(r'[;,\s]+', "a,b; c d") # ['a', 'b', 'c', 'd']
Phương thức ngược: join()
words = ['Apple', 'Banana', 'Grapes'] ", ".join(words) # 'Apple, Banana, Grapes'