Al usar la división de función de cadena de Python(), ¿alguien tiene un ingenioso truco para tratar los elementos rodeados de comillas dobles como una palabra que no se divide?No divida las palabras comillas dobles con Python string split()?
decir que quiero dividir solamente en el espacio blanco y tengo esto:
>>> 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']
me gustaría tratar cualquier cosa dentro de las comillas dobles como una sola palabra, incluso si están incrustados los espacios en blanco, por lo que lo haría gustaría terminar con el siguiente:
['A', 'B', 'C', 'DE', 'FE', 'GH I JK L', '', '', 'O P Q', 'R']
O por lo menos esto y entonces voy a despojarse de las comillas dobles:
['A', 'B', '"C"', 'DE', '"FE"', '"GH I JK L"', '""', '""', '"O P Q"', 'R']
¿Alguna sugerencia no regex?
+100, wow, nunca escuché de shlex –
Gracias Sven --- ¡eso es exactamente lo que estoy buscando! – Rob
impresionante, muy útil. ¡Gracias! – liang