Maison > développement back-end > Tutoriel Python > Comment filtrer les caractères non-ASCII tout en préservant les espaces et les points en Python ?

Comment filtrer les caractères non-ASCII tout en préservant les espaces et les points en Python ?

Patricia Arquette
Libérer: 2024-10-19 20:33:29
original
624 Les gens l'ont consulté

How to Filter Non-ASCII Characters While Preserving Spaces and Periods in Python?

Suppression des caractères non-ASCII tout en préservant les espaces et les points

En Python, vous pouvez rencontrer des situations dans lesquelles vous devez filtrer les caractères non-ASCII caractères d’une chaîne tout en gardant les espaces et les points intacts. Le code fourni à cet effet, appelé onlyascii(), supprime actuellement tous les caractères non-ASCII, y compris ceux souhaités.

Pour résoudre ce problème, envisagez de modifier la fonction onlyascii() pour inclure une gestion spéciale des espaces et périodes. Une approche consiste à utiliser le string.printable de Python, qui contient un ensemble de caractères jugés imprimables, y compris les espaces et les points.

Dans la fonction onlyascii(), vous pouvez filtrer les caractères non-ASCII tout en autorisant les espaces. et les points à parcourir en vérifiant si le caractère est dans l'ensemble string.printable. Voici comment procéder :

def onlyascii(char):
    if ((ord(char) < 48 or ord(char) > 127)
            and (char not in string.printable)):
        return ''
    else:
        return char
Copier après la connexion

En ajoutant la condition char not in string.printable à l'instruction if, vous vous assurez que les espaces et les points sont conservés, même s'ils sont en dehors de la plage ASCII. En incorporant cette modification dans la fonction get_my_string(), vous pouvez désormais filtrer les caractères non-ASCII tout en préservant les espaces et les points :

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 filtered_data
Copier après la connexion

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!

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