Khi sử dụng hàm phân tách chuỗi Python(), có ai có một thủ thuật tiện lợi để xử lý các mục được bao quanh bởi dấu nháy kép dưới dạng từ không tách rời không?Không chia các từ được trích dẫn kép với phân tách chuỗi Python()?
Nói rằng tôi muốn chia chỉ vào khoảng trắng và tôi có điều này:
>>> myStr = 'A B\t"C" DE "FE"\t\t"GH I JK L" "" ""\t"O P Q" R'
>>> myStr.split()
['A', 'B', '"C"', 'DE', '"FE"', '"GH', 'I', 'JK', 'L"', '""', '""', '"O', 'P', 'Q"', 'R']
Tôi muốn đối xử với bất cứ điều gì trong hai dấu ngoặc kép như một từ duy nhất, ngay cả khi không gian trắng được nhúng, vì vậy sẽ muốn kết thúc với dưới đây:
['A', 'B', 'C', 'DE', 'FE', 'GH I JK L', '', '', 'O P Q', 'R']
Hoặc ít nhất này và sau đó tôi sẽ tước hai dấu ngoặc kép:
['A', 'B', '"C"', 'DE', '"FE"', '"GH I JK L"', '""', '""', '"O P Q"', 'R']
Bất kỳ đề xuất không phải là regex nào?
+100, wow, không bao giờ nghe nói về shlex –
Cảm ơn bạn Sven --- đó chính xác là những gì tôi đang tìm kiếm! – Rob
tuyệt vời, rất hữu ích. Cảm ơn! – liang