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