"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment conserver les espaces et les points tout en supprimant les caractères non-ASCII dans les fichiers texte Python ?

Comment conserver les espaces et les points tout en supprimant les caractères non-ASCII dans les fichiers texte Python ?

Publié le 2024-11-08
Parcourir:449

How to Preserve Spaces and Periods While Removing Non-ASCII Characters in Python Text Files?

Gestion des caractères non-ASCII, préservation des espaces et des points

Lorsque vous traitez des fichiers texte, il est souvent nécessaire de supprimer les caractères non-ASCII lors préserver des entités spécifiques comme les espaces et les périodes. Le code Python fourni filtre avec succès les caractères non-ASCII, mais supprime également par inadvertance les espaces et les points.

Pour résoudre ce problème, nous devons modifier la fonction onlyascii() pour exclure explicitement les espaces et les points du processus de filtrage. . Voici une version mise à jour :

def onlyascii(char):
    if char == ' ' or char == '.':
        return char
    elif ord(char)  127:
        return ''
    else:
        return char

Dans cette fonction onlyascii() révisée, nous vérifions si le caractère est un espace (' ') ou un point ('.') et le renvoyons si c'est le cas. Cette modification garantit que ces entités sont conservées dans la chaîne filtrée.

Pour utiliser la fonction onlyascii() mise à jour, nous pouvons modifier la fonction get_my_string() pour filtrer les caractères à l'aide de cette fonction :

def get_my_string(file_path):
    f = open(file_path, 'r')
    data = f.read()
    f.close()
    filtered_data = filter(onlyascii, data)
    filtered_data = filtered_data.lower()
    return ''.join(filtered_data)

La méthode join() est utilisée pour concaténer les caractères de l'itérable renvoyé par la fonction filter(), ce qui donne une chaîne.

En les implémentant modifications, vous pouvez supprimer les caractères non-ASCII tout en préservant les espaces et les points dans votre chaîne de texte, répondant ainsi aux exigences spécifiques de votre projet.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729340957. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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