Czy przy użyciu funkcji łańcuchowej Python split(), ktoś ma świetną sztuczkę do traktowania elementów otoczonych podwójnymi cudzysłowami jako niezaprzeczalne słowo?Nie dziel słowa podwójnego cytowania za pomocą łańcucha znaków Python()?
że chcę podzielić tylko na białej przestrzeni i mam to:
>>> 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']
Chciałbym traktować coś w podwójnych cudzysłowach jako jedno słowo, nawet jeśli spacji są osadzone, tak by lubię skończyć z niżej:
['A', 'B', 'C', 'DE', 'FE', 'GH I JK L', '', '', 'O P Q', 'R']
lub przynajmniej to, a potem będę obetniesz podwójnych cudzysłowach:
['A', 'B', '"C"', 'DE', '"FE"', '"GH I JK L"', '""', '""', '"O P Q"', 'R']
Wszelkie sugestie inne niż wyrażenie regularne?
+100, wow, nigdy nie słyszałem o Shlexie –
Dziękuję Sven --- właśnie tego szukam! – Rob
niesamowite, bardzo pomocne. Dzięki! – liang