Comment supprimer les caractères de contrôle (\n \t \r) d'un string avec python

Active 29 octobre 2014    /    Viewed 11924    /    Comments 0    /    Edit


Apres avoir lu un fichier quelconque en python on peut se retrouver avec des strings comprenant des caractères de contrôle. Pour supprimer ces derniers il est possible d'utiliser un regex comme ceci:

>>> import re
>>> s = "Salut \n Comment ca va ?"
>>> regex = re.compile(r'[\n\r\t]')
>>> s = regex.sub(" ", s)
>>> s
'Salut   Comment ca va ?'

Deuxième méthode en utilisant translate, comme ceci

>>> import string
>>> s = "Salut \n Comment ca va ?"
>>> t = string.maketrans("\n\t\r", "   ")
>>> s = s.translate(t)
>>> s
'Salut   Comment ca va ?'
>>>

Voir Deleting specific control characters(\n \r \t) from a string pour une discussion sur la vitesse d'execution de ces deux méthodes.

Recherches associées

Liens Site
re — Regular expression operations python doc
Deleting specific control characters(\n \r \t) from a string stackoverflow
string — Common string operations python doc


Card image cap
profile-image
Daidalos

Hi, I am Ben.

I have developed this web site from scratch with Django to share with everyone my notes. If you have any ideas or suggestions to improve the site, let me know ! (you can contact me using the form in the welcome page). Thanks!