Je dois remplacer tous les caractères non ASCII (\ x00- \ x7F) par un espace. Je suis surpris que ce ne soit pas facile à faire en Python, sauf si je manque quelque chose. La fonction suivante supprime simplement tous les caractères non ASCII:
def remove_non_ascii_1(text):
return ''.join(i for i in text if ord(i)<128)
Et celui-ci remplace les caractères non ASCII par la quantité d'espaces selon la quantité d'octets dans le point de code de caractère (c'est-à-dire que le –
caractère est remplacé par 3 espaces):
def remove_non_ascii_2(text):
return re.sub(r'[^\x00-\x7F]',' ', text)
Comment remplacer tous les caractères non ASCII par un seul espace?
Parmi la myriade de questions SO similaires , aucune ne concerne le remplacement de caractère par opposition à la suppression , et traite également tous les caractères non-ascii et non un caractère spécifique.
–
. C'est ce mec .