Maison  >  Article  >  développement back-end  >  Comment supprimer efficacement les caractères non alphanumériques en Python ?

Comment supprimer efficacement les caractères non alphanumériques en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-06 11:30:03346parcourir

How to Efficiently Strip Non-Alphanumeric Characters in Python?

Suppression des caractères non alphanumériques en Python

En Python, la suppression des caractères non alphanumériques d'une chaîne nécessite une approche légèrement différente par rapport à PHP .

Méthodes Python

Pour une solution véritablement « Pythonic », envisagez les méthodes suivantes :

  • Joindre des caractères alphanumériques : Utilisez une compréhension de liste pour parcourir les caractères de la chaîne et joindre uniquement les caractères alphanumériques.
  • Filtre alphanumérique : Utilisez la fonction filter() et str.isalnum() pour filtrer les caractères non alphanumériques.

Approches alternatives

Pour des raisons de performances, d'autres méthodes peuvent être plus rapides :

  • Substitution Regex avec [W_] : Compilez une expression régulière ([W_] ) pour faire correspondre et remplacer tous les caractères non alphanumériques.
  • **Substitution Regex avec pattern.sub() : pour les répétitions substitution, précompilez l'expression régulière à l'aide de re.compile(), puis utilisez pattern.sub().

Analyse comparative des performances

Voici les résultats de synchronisation pour divers méthodes, en utilisant la chaîne string.printable :

Method Time (μs/loop)
Join alphanumeric 57.6
Filter alphanumeric 37.9
Regex substitution with [W_] 27.5
Regex substitution with [W_] 15
Regex substitution with pattern.sub() 11.2

Les timings montrent que l'utilisation de l'expression régulière précompilée avec pattern.sub() est la méthode la plus rapide.

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