J'ai une chaîne qui ressemble à la suivante: lorsque je divise la chaîne par virgule, je reçois le tableau suivant: p> ['hello', '2', 'test', '1', '[4,something,3]', '1', '2']
3 Réponses :
Utilisez Regex P>
résultat: p>
Notez que cette réponse n'assume pas de [] p> importer re
re.split (r ", \ s * (?! [^ [] *])", string) code> p>
['Hello', '2', 'Test', '1', '[4, quelque chose, 3]', '1', '2'] p> p> P>
Ceci échoue à Bonjour, 2, test, 1, [4, quelque chose, 3], 1,2, [4, [quelque chose], 3] code>
Voici un moyen: sortie: p>
Vous pouvez le faire avec une expression régulière:
import re string = "hello,2,test,1,[4,something,3],1,2" x = re.findall(r'\[[^\]]+\](?=,|\b)|[^,]+(?=,|\b)', string)
Les cordes [...] peuvent-elles être imbriquées, comme '[A, B, [C, D], E]'?
Essayez-vous d'essayer de transformer cela en
['Hello', 2, 'Test', 1, [4, 'Quelque chose', 3], 1, 2] code>?