Supprimer les caractères non alphanumériques de la chaîne Python

Shivam Arora 30 janvier 2023
  1. Utilisez la méthode isalnum() pour supprimer tous les caractères non alphanumériques dans la chaîne Python
  2. Utilisez la fonction filter() pour supprimer tous les caractères non alphanumériques dans la chaîne Python
  3. Utilisez des expressions régulières pour supprimer tous les caractères non alphanumériques dans la chaîne Python
Supprimer les caractères non alphanumériques de la chaîne Python

Les caractères alphanumériques contiennent le mélange des 26 caractères du jeu de lettres et des chiffres de 0 à 9. Les caractères non alphanumériques incluent des caractères qui ne sont ni des lettres ni des chiffres, comme + et @.

Dans ce didacticiel, nous verrons comment supprimer les caractères non alphanumériques d’une chaîne en Python.

Utilisez la méthode isalnum() pour supprimer tous les caractères non alphanumériques dans la chaîne Python

Nous pouvons utiliser la méthode isalnum() pour vérifier si un caractère ou une chaîne donnée est alphanumérique ou non. Nous pouvons comparer chaque caractère individuellement à partir d’une chaîne, et s’il est alphanumérique, nous le combinons à l’aide de la fonction join().

Par example,

string_value = "alphanumeric@123__"
s = "".join(ch for ch in string_value if ch.isalnum())
print(s)

Production:

alphanumeric123

Utilisez la fonction filter() pour supprimer tous les caractères non alphanumériques dans la chaîne Python

La fonction filter() permet de construire un itérateur à partir des composants de l’objet itérable et filtre les éléments de l’objet à l’aide d’une fonction.

Pour notre problème, la chaîne est notre objet, et nous utiliserons la fonction isalnum(), qui vérifie si une chaîne donnée contient ou non des caractères alphanumériques en vérifiant chaque caractère. La fonction join() combine tous les caractères pour retourner une chaîne.

Par example,

string_value = "alphanumeric@123__"
s = "".join(filter(str.isalnum, string_value))
print(s)

Production:

alphanumeric123

Cette méthode ne fonctionne pas avec Python 3.

Utilisez des expressions régulières pour supprimer tous les caractères non alphanumériques dans la chaîne Python

Une expression régulière est un regroupement exceptionnel de caractères qui vous aide à faire correspondre différentes chaînes ou ensembles de chaînes, en utilisant une syntaxe spécifique dans un modèle. Pour utiliser des expressions régulières, nous importons le module re.

Nous pouvons utiliser la fonction sub() de ce module pour remplacer toute la chaîne qui correspond à un caractère non alphanumérique par un caractère vide.

Par example,

import re

string_value = "alphanumeric@123__"
s = re.sub(r"[\W_]+", "", string_value)
print(s)

Production:

alphanumeric123

Alternativement, nous pouvons également utiliser le modèle suivant.

import re

string_value = "alphanumeric@123__"
s = re.sub(r"[^a-zA-Z0-9]", "", string_value)
print(s)

Production:

alphanumeric123

Article connexe - Python String