Remplacement des caractères non-ASCII par des espaces en Python
La tâche consistant à remplacer les caractères non-ASCII par des espaces en Python peut sembler simple, mais les fonctions intégrées souvent utilisées pour la manipulation de caractères peuvent ne pas fournir immédiatement une solution simple. Explorons les défis et les approches alternatives pour atteindre cet objectif de manière efficace.
Solutions actuelles
Deux approches existantes sont présentées dans la question :
Remplacement d'un seul espace
La question demande spécifiquement de remplacer tous les caractères non-ASCII par un seul espace. Pour y parvenir, nous devons modifier la fonction remove_non_ascii_1() :
def remove_non_ascii_1(text):
return ''.join([i if ord(i) Dans cette fonction mise à jour, nous utilisons une expression conditionnelle pour remplacer les caractères non-ASCII par un seul espace . L'expression ''.join() concatène ensuite les caractères modifiés en une seule chaîne.
Approche de l'expression régulière
L'expression régulière dans remove_non_ascii_2() peut également être ajusté pour le remplacement par un seul espace :
re.sub(r'[^\x00-\x7F] ', ' ', text)
Ici, le modificateur ' ' est ajouté entre crochets pour garantir que les caractères non-ASCII consécutifs sont remplacés par un seul espace.
Remarque : Ces fonctions fonctionnent sur les chaînes Unicode. Si vous travaillez avec des chaînes d'octets, les caractères Unicode doivent d'abord être décodés (par exemple, en unicode(text, 'utf-8').
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3