Не разделять слова в двойных кавычках с помощью Python string split ()?

При использовании строковой функции Python split () есть ли у кого-нибудь изящный трюк, чтобы рассматривать элементы, заключенные в двойные кавычки, как слово без разделения?

Скажем, я хочу разделить только на пробелы, и у меня есть следующее:

>>> 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']

Я бы хотел рассматривать все, что заключено в двойные кавычки, как одно слово, даже если пробелы вставлены, поэтому хотел бы получить ниже:

['A', 'B', 'C', 'DE', 'FE', 'GH I JK L', '', '', 'O P   Q', 'R']

Или, по крайней мере, это, а затем я уберу двойные кавычки:

['A', 'B', '"C"', 'DE', '"FE"', '"GH I JK L"', '""', '""', '"O P   Q"', 'R']

Какие-либо предложения, не связанные с регулярным выражением?

11
задан brc 24 October 2011 в 23:20
поделиться