Comment puis-je supprimer efficacement les caractères non alphanumériques des chaînes en Python ?

Barbara Streisand
Libérer: 2024-11-05 22:20:02
original
784 Les gens l'ont consulté

How Can I Efficiently Remove Non-Alphanumeric Characters from Strings in Python?

Suppression des caractères non alphanumériques des chaînes en Python

La suppression des caractères non alphanumériques des chaînes implique la suppression des caractères autres que les lettres, les chiffres et souligne. Bien que des solutions existent pour PHP, elles peuvent ne pas correspondre aux principes pythoniques.

Une méthode efficace consiste à définir une expression régulière qui correspond aux caractères non alphanumériques (W_) et à la remplacer par une chaîne vide. Utilisation de la fonction re.sub() avec un modèle d'expression régulière compilé :

<code class="python">import re, string
pattern = re.compile('[\W_]+')  # Compiled regular expression
string.printable = string.printable.replace(pattern, '')  # Substitute non-alphanumeric characters with empty string</code>
Copier après la connexion

D'autres méthodes incluent l'utilisation de compréhensions de liste pour filtrer les caractères non alphanumériques ou l'utilisation de la méthode str.isalnum() dans filter( ):

<code class="python">''.join(ch for ch in string if ch.isalnum())
filter(str.isalnum, string)</code>
Copier après la connexion

Une analyse comparative comparative a montré que l'approche re.sub() avec une expression régulière compilée a donné les meilleures performances :

$ python -m timeit -s \
    "import re, string; pattern = re.compile('[\W_]+')" \
    "pattern.sub('', string.printable)"
100000 loops, best of 3: 11.2 usec per loop
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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!