Supposons cette chaîne de caractères :
Bonjour tous le monde !
Se transformer en :
Bonjour tous le monde !
Quel est le moyen le plus simple (1 à 2 lignes) pour réaliser cela, sans se diviser et sans entrer dans des listes ?
leo
Janvier 14, 2024, 9:26
2
>>> import re
>>> re.sub(' +', ' ', 'Bonjour tous le monde !')
'Bonjour tous le monde !'
Henri
Janvier 14, 2024, 9:29
3
str
est votre chaîne de caractères :
" ".join(str.split())
Attention pourtant, cela supprime « tous les caractères d’espacement (espace, tabulation, nouvelle ligne, retour, saut de page) ». Par exemple, « ceci est \t un test\n » se terminera effectivement par « ceci est un test ».
Essayez le code suivant:
import re
s = "Bonjour tous le monde !"
re.sub("\s\s+" , " ", s)
ou
re.sub("\s\s+", " ", s)
Michel
Janvier 14, 2024, 9:34
5
Comme les solutions précédentes, mais de manière plus précise : remplacez deux ou plusieurs espaces par un seul :
>>> import re
>>> s = "Bonjour tous le monde !"
>>> re.sub('\s{2,}', ' ', s)
'Bonjour tous le monde !'