Supprimer les caractères non alphanumériques de la chaîne Python
-
Utilisez la méthode
isalnum()
pour supprimer tous les caractères non alphanumériques dans la chaîne Python -
Utilisez la fonction
filter()
pour supprimer tous les caractères non alphanumériques dans la chaîne Python - Utilisez des expressions régulières pour supprimer tous les caractères non alphanumériques dans 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
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python