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.
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