Sử dụng split[]
mà không có bất kỳ đối số nào sẽ phân chia nội dung trên bất kỳ khoảng trắng nào và cũng nhóm lại một số khoảng trắng.
Đây là một ví dụ:
s = """d4 c3 b2 a1 02 00 04 00 00 00 00 00 00 00 00 00
ff ff 00 00 01 00 00 00 00 00 00 00 00 00 00 00
36 00 00 00 36 00 00 00 00 1c 23 10 f8 f1 00 1b
17 01 10 20 08 00 45 00 00 28 df 27 40 00 80 06
2b 87 c7 08 1a 0a 0a 05 05 0a 5c ea 5c ea c2 1f"""
data = s.split[]
Trong trường hợp này, data
sẽ trông như thế này:
['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
Chia một chuỗi theo tab trong python #
Sử dụng phương thức str.split[]
để chia chuỗi theo các tab, ví dụ:
0. Phương thức ['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
1 sẽ phân chia chuỗi trên mỗi lần xuất hiện của một tab và sẽ trả về một danh sách chứa kết quả.['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
Copied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
Phương thức str.split [] chia chuỗi thành một danh sách các chuỗi con bằng cách sử dụng dấu phân cách.
Phương thức lấy 2 tham số sau:
máy tách biệt | Chia chuỗi thành chuỗi con trên mỗi lần xuất hiện |
MaxSplit | Nhiều nhất 2 chia tách được thực hiện [tùy chọn] |
Nếu bộ phân cách không được tìm thấy trong chuỗi, một danh sách chỉ chứa 1 phần tử được trả về.
Copied!
my_str = 'one' my_list = my_str.split['\t'] # 👇️ ['one'] print[my_list]
Nếu chuỗi của bạn bắt đầu bằng hoặc kết thúc bằng một tab, bạn sẽ nhận được các phần tử chuỗi trống trong danh sách.
Copied!
my_str = '\tone\ttwo\tthree\tfour\t' my_list = my_str.split['\t'] print[my_list] # 👉️ ['', 'one', 'two', 'three', 'four', '']
Bạn có thể sử dụng chức năng
['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
3 để xóa bất kỳ chuỗi trống nào khỏi danh sách.Copied!
my_str = '\tone\ttwo\tthree\tfour\t' my_list = list[filter[None, my_str.split['\t']]] print[my_list] # 👉️ ['one', 'two', 'three', 'four']
Hàm bộ lọc có hàm và có thể lặp lại như các đối số và xây dựng một trình lặp lại từ các phần tử của có thể điều chỉnh được hàm trả về giá trị sự thật.
Nếu bạn vượt qua
4 cho đối số chức năng, tất cả các yếu tố giả mạo của IT có thể bị xóa.['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
Tất cả các giá trị không phải là sự thật được coi là giả mạo. Các giá trị giả trong Python là:
- Các hằng số được xác định là giả mạo:
4 và['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
6.['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
7 [không] thuộc bất kỳ loại số nào['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
- Trình tự trống và bộ sưu tập:
8 [Chuỗi trống],['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
9 [Tuple trống],['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
0 [danh sách trống],Copied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
1 [Từ điển trống],Copied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
2 [bộ trống],Copied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
3 [phạm vi trống].Copied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
Lưu ý rằng hàm
['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
3 trả về đối tượng 5, vì vậy chúng tôi phải sử dụng lớpCopied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
6 để chuyển đổi đối tượngCopied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
5 thành danh sách.Copied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
Một giải pháp thay thế là sử dụng phương pháp
8.Copied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
Sử dụng phương thức Copied!
import re
# ✅ split string on each occurrence of tab
my_str = 'one\ttwo\tthree\tfour'
my_list = my_str.split['\t']
print[my_list] # 👉️ ['one', 'two', 'three', 'four']
# -----------------------------
# ✅ split string by one or more consecutive tabs
my_list_2 = re.split[r'\t+', my_str]
print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
8 để chia một chuỗi theo tab, ví dụ: 0. Phương thứcCopied!
my_str = 'one' my_list = my_str.split['\t'] # 👇️ ['one'] print[my_list]
8 sẽ phân chia chuỗi trên mỗi lần xuất hiện của một tab và trả về danh sách chứa kết quả.Copied!
import re # ✅ split string on each occurrence of tab my_str = 'one\ttwo\tthree\tfour' my_list = my_str.split['\t'] print[my_list] # 👉️ ['one', 'two', 'three', 'four'] # ----------------------------- # ✅ split string by one or more consecutive tabs my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
Copied!
import re my_str = 'one\t\t\ttwo\t\tthree\tfour' my_list_2 = re.split[r'\t+', my_str] print[my_list_2] # 👉️ ['one', 'two', 'three', 'four']
Phương thức Re.Split lấy một mẫu và một chuỗi và phân tách chuỗi trên mỗi lần xuất hiện của mẫu.
Các ký tự
2 khớp với các tab.Copied!
my_str = 'one' my_list = my_str.split['\t'] # 👇️ ['one'] print[my_list]
Plus
3 được sử dụng để phù hợp với ký tự trước [tab] 1 lần trở lên.Copied!
my_str = 'one' my_list = my_str.split['\t'] # 👇️ ['one'] print[my_list]
Toàn bộ, biểu thức chính quy khớp với một hoặc nhiều ký tự tab.
Điều này rất hữu ích khi bạn muốn đếm nhiều tab liên tiếp là một tab duy nhất khi chia chuỗi.