Comment remplacer les caractères non-ASCII par un seul espace en Python ?

Susan Sarandon
Libérer: 2024-11-01 14:11:02
original
961 Les gens l'ont consulté

How to Replace Non-ASCII Characters with a Single Space in Python?

Remplacer les caractères non-ASCII par un seul espace

En Python, remplacer les caractères non-ASCII par un espace n'est pas une tâche triviale. De nombreuses solutions existent pour supprimer les caractères non-ASCII, mais leur remplacement reste une exigence rare.

La fonction fournie, remove_non_ascii_1, supprime efficacement tous les caractères non-ASCII. remove_non_ascii_2, quant à lui, remplace les caractères non-ASCII par des espaces, mais le nombre d'espaces correspond à la taille du point de code du caractère.

Abordons maintenant la question centrale :

Comment pouvons-nous remplacer tous les caractères non-ASCII par un seul espace ?

Solution 1 :

<code class="python">def replace_with_space(text):
    return ''.join([i if ord(i) < 128 else ' ' for i in text])</code>
Copier après la connexion

Cette approche utilise une expression conditionnelle dans le compréhension de la liste de ''.join(). Les caractères avec des valeurs ASCII inférieures à 128 restent inchangés, tandis que ceux non-ASCII sont remplacés par un espace.

Solution 2 :

<code class="python">import re

def replace_with_space(text):
    return re.sub(r'[^\x00-\x7F]+', ' ', text)</code>
Copier après la connexion

Dans cette solution, le caractère dans l'expression régulière garantit que les caractères non-ASCII consécutifs sont remplacés par un seul espace. Cela élimine le problème dans remove_non_ascii_2 où plusieurs espaces ont été insérés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal