238 votes

Comment démonter tous les espaces de chaîne

Comment puis-je supprime tous les espaces dans une chaîne python? Par exemple, je veux une chaîne comme strip my spaces d'être transformée en stripmyspaces, mais je n'arrive pas à réaliser qu'avec l' strip():

>>> 'strip my spaces'.strip()
'strip my spaces'

87voto

Tim Yates Points 2415
>>> import re
>>> re.sub(r'\s+', '', 'strip my spaces')
'stripmyspaces'

Gère également tous les espaces que vous n'êtes pas en train de penser (croyez-moi, il y en a beaucoup).

42voto

Dan Menes Points 2217

Sinon,

"strip my spaces".translate( None, string.whitespace )

17voto

carl Points 25879

Le plus simple est d'utiliser le remplacer:

"foo bar\t".replace(" ", "").replace("\t", "")

Sinon, vous pouvez utiliser une expression régulière:

import re
re.sub(r"\s", "", "foo bar\t")

3voto

Matthew Iselin Points 5843

Essayez une regex avec re.sub. Vous pouvez rechercher tous les espaces et de les remplacer par une chaîne vide.

\s dans votre profil correspondra à des espaces - et pas seulement un espace (tabulations, retours à la ligne, etc). Vous pouvez en lire plus à ce sujet dans le manuel.

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