132 votes

Comment supprimer les espaces avant et arrière d'une chaîne ?

J'ai du mal à utiliser .strip avec la ligne de code suivante :

f.write(re.split("Tech ID:|Name:|Account #:",line)[-1])

271voto

Anshuma Points 2167

Vous pouvez utiliser la méthode strip() pour supprimer les espaces de fin et de début :

>>> s = '   abd cde   '
>>> s.strip()
'abd cde'

Remarque : les espaces internes sont préservés.

5voto

Li-aung Yip Points 7209

Développez votre doublure en plusieurs lignes. Ensuite, cela devient facile :

f.write(re.split("Tech ID:|Name:|Account #:",line)[-1])

parts = re.split("Tech ID:|Name:|Account #:",line)
wanted_part = parts[-1]
wanted_part_stripped = wanted_part.strip()
f.write(wanted_part_stripped)

3voto

inverted_index Points 919

Il convient de noter que la méthode strip() couperait tous les caractères d'espace blanc avant et arrière de la chaîne (s'il n'y a pas d'argument transmis). Si vous voulez couper des caractères d'espace, tout en gardant les autres (comme newline), cette réponse pourrait être utile :

sample = '  some string\n'
sample_modified = sample.strip(' ')

print(sample_modified)  # will print 'some string\n'

strip([chars]) : Vous pouvez passer en caractères optionnels à la méthode strip([chars]). Python va rechercher les occurrences de ces caractères et couper la chaîne donnée en conséquence.

1voto

Joshua Hall Points 314

Fichier de départ :

     line 1
   line 2
line 3  
      line 4 

Code :

with open("filename.txt", "r") as f:
    lines = f.readlines()
    for line in lines:
        stripped = line.strip()
        print(stripped)

Sortie :

line 1
line 2
line 3
line 4

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