J'ai essayé en utilisant la bibliothèque de Python. A partir d'un fichier, j'obtiens plusieurs lignes qui contiennent des éléments séparés par des barres ('|'). Je les mets dans une liste et ce dont j'ai besoin, c'est d'obtenir les nombres à l'intérieur afin d'opérer avec eux.
Ce serait l'une des cordes que je voudrais diviser :
>>print(line_input)
>>[240, 7821, 0, 12, 605, 0, 3]|[1.5, 7881.25, 0, 543, 876, 0, 121]|[237, 761, 0, 61, 7, 605, 605]
et mon intention est de former un vecteur avec chacun des éléments entre crochets.
J'ai créé cette expression régulière
>>test_pattern="\|\[(\d*(\.\d+)?), (\d*(\.\d+)?), (\d*(\.\d+)?)]"
mais les résultats sont un peu confus. En particulier, le résultat est
>>vectors = re.findall(test_pattern, line_input)
>>print(vectors)
>>[('240', '', '7821', '', '0', '', '12', '', '605', '', '0', '', '3', ''), ('1.5', '.5', '7881.25', '.25', '0', '', '0', '', '0', '', '0', '', '0', ''), ('23437', '', '76611', '', '0', '', '0', '', '0', '', '605', '', '605', '')]
Je ne comprends pas d'où viennent les espaces blancs ni pourquoi la partie décimale est dupliquée. Je sais que j'ai presque compris, du moins, je suis sûr que c'est un petit détail simple, mais je ne comprends pas.
Merci beaucoup d'avance.