0
votes

Python - Comment diviser la chaîne en une matrice tout en ignorant les tableaux intérieurs?

J'ai une chaîne qui ressemble à la suivante: xxx pré>

lorsque je divise la chaîne par virgule, je reçois le tableau suivant: p>

['hello', '2', 'test', '1', '[4,something,3]', '1', '2']


2 commentaires

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


3 Réponses :


2
votes

Utilisez Regex

importer re re.split (r ", \ s * (?! [^ [] *])", string)

résultat:

['Hello', '2', 'Test', '1', '[4, quelque chose, 3]', '1', '2']

Notez que cette réponse n'assume pas de []


1 commentaires

Ceci échoue à Bonjour, 2, test, 1, [4, quelque chose, 3], 1,2, [4, [quelque chose], 3]



0
votes

Voici un moyen: xxx

sortie: xxx


0 commentaires

0
votes

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)


0 commentaires