80 votes

Fractionner une chaîne avec un nombre inconnu d’espaces comme séparateur en Python

J’ai besoin d’une fonction similaire `` à, mais il peut y avoir plus d’un espace, et un nombre différent d’entre eux entre les caractères significatifs. Quelque chose comme ceci:

Puis-je d’une manière ou d’une autre utiliser des expressions régulières pour intercepter ces espaces entre les deux ?

137voto

aaronasterling Points 25749

Si vous ne passez aucun argument à `` , il traitera les exécutions d’espaces blancs comme un séparateur unique :

Ou si vous voulez

22voto

sharth Points 25625
s = ' 1234    Q-24 2010-11-29         563   abc  a6G47er15        '
ss = s.split()
print(ss)  # ['1234', 'Q-24', '2010-11-29', '563', 'abc', 'a6G47er15']

5voto

Danny Sanchez Points 94

Si vous avez des espaces uniques au milieu de vos données (comme une adresse dans un champ), voici une solution pour lorsque le délimiteur a deux espaces ou plus :If you have single spaces amid your data (like an address in one field), here’s a solution for when the delimiter has two or more spaces:

0voto

Guy de Carufel Points 186

Pour fractionner des lignes par plusieurs espaces tout en conservant des espaces uniques dans des chaînes :

0voto

Muthu Kumar Points 141

Il existe de nombreuses solutions à cette question.

1.) L’utilisation de split() est la méthode la plus simple

2.) Il existe un autre moyen de résoudre ce problème en utilisant la méthode findall(), vous devez « importer re » au début de votre fichier python.

3.) Si vous souhaitez supprimer les débuts (espaces au début) et les espaces de fin (espaces à la fin), utilisez uniquement strip().

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