1 votes

analyse d'une chaîne de texte ascii en variables séparées

J'ai un texte qui m'est remis comme ça :

Voici la première ligne \n\nhere est la ligne deux \n\nhere est la ligne trois

Ce que je voudrais faire, c'est décomposer cette chaîne en trois variables distinctes. Je ne suis pas sûr de la façon dont on peut y parvenir en Python.

Merci pour toute aide, jml

4voto

Ignacio Vazquez-Abrams Points 312628
a, b, c = s.split('\n\n')

1voto

Daniel DiPaolo Points 24085
s1, s2, s3 = that_string_variable.split('\n\n')

En fait, quelle que soit la variable dans laquelle se trouve la chaîne de caractères. .split() sur le jeton que vous voulez utiliser comme séparateur (dans ce cas, '\n\n' ), et cela renverra une liste de chaînes de caractères. Vous pouvez assigner en utilisant le "déballage" où vous spécifiez plusieurs variables pour chacun des éléments à atteindre. Une affectation comme celle ci-dessus dit "Je sais que la partie droite me donnera trois éléments, et je veux qu'ils aillent dans s1 , s2 et s3 dans cet ordre.

1voto

Il-Bhima Points 5757

Vous pouvez utiliser la fonction de fractionnement :

s = 'ab\n\ncd'
tokens = s.split('\n\n')

Entonces tokens est le tableau ['ab', 'cd']

EDIT : J'ai supposé que vous vouliez dire que vous voulez que votre exemple soit divisé en 3 chaînes, mais en général, il faut diviser la chaîne > 3 chaînes si nécessaire.

0voto

Amber Points 159296

Pour le décomposer en une liste de 3 éléments :

mystring = "here is line one\n\nhere is line two\n\nhere is line three"
listofthings = mystring.split("\n\n")

Vous pouvez ensuite y accéder avec listofthings[0] , listofthings[1] et listofthings[2] .

Pour les mettre dans des variables réelles séparées :

mystring = "here is line one\n\nhere is line two\n\nhere is line three"
a,b,c = mystring.split("\n\n")

# a now contains "here is line one", et cetera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X