Comment enlever la ponctuation d'une chaîne de caractères en Python
-
Utiliser les méthodes de classe
string
pour retirer la ponctuation d’une chaîne de caractères en Python -
Utiliser
regex
pour supprimer les ponctuations d’une chaîne en Python -
Utilisez
string.punctuation
pour supprimer la ponctuation d’une chaîne en Python -
Utilisez
replace()
pour supprimer la ponctuation d’une chaîne en Python
Ce tutoriel traite des méthodes permettant de supprimer la ponctuation d’une chaîne de caractères en Python. Il s’agit d’une étape particulièrement utile pour le prétraitement et le nettoyage des données textuelles pour la PNL.
Utiliser les méthodes de classe string
pour retirer la ponctuation d’une chaîne de caractères en Python
Nous pouvons utiliser les fonctions intégrées fournies dans la classe string
pour retirer la ponctuation d’une chaîne en Python.
str.maketrans
crée une table de traduction contenant la correspondance entre deux caractères. Dans ce cas, nous voulons supprimer toutes les ponctuations, c’est pourquoi str.maketrans('', '', string.punctuation)
crée une correspondance entre une chaîne vide et une chaîne vide, et entre les ponctuations et Aucune.
La méthode translate
applique ces correspondances à la chaîne donnée, supprimant ainsi les ponctuations. L’exemple ci-dessous illustre ce phénomène.
s = "string. With. Punctuations!?"
out = s.translate(str.maketrans("", "", string.punctuation))
print(out)
Production:
'string With Punctuations'
La méthode ci-dessus supprime toutes les ponctuations d’une chaîne de caractères d’entrée donnée.
Utiliser regex
pour supprimer les ponctuations d’une chaîne en Python
Nous pouvons également utiliser le regex
pour enlever la ponctuation d’une chaîne en Python. Le modèle de regex [^\w\s]
capture tout ce qui n’est pas un mot ou des espaces (c’est-à-dire les ponctuations) et le remplace par une chaîne vide. L’exemple ci-dessous en est une illustration.
import re
s = "string. With. Punctuation?"
out = re.sub(r"[^\w\s]", "", s)
print(out)
Production:
'string With Punctuations'
Utilisez string.punctuation
pour supprimer la ponctuation d’une chaîne en Python
Elle est similaire à la première méthode discutée. La string.punctuation
contient tous les caractères considérés comme une ponctuation en anglais. Nous pouvons utiliser cette liste et exclure toutes les ponctuations d’une chaîne de caractères. L’exemple ci-dessous en est une illustration.
s = "string. With. Punctuation?"
out = "".join([i for i in s if i not in string.punctuation])
print(out)
Production:
'string With Punctuations'
Utilisez replace()
pour supprimer la ponctuation d’une chaîne en Python
Nous pouvons également utiliser replace()
pour supprimer la ponctuation d’une chaîne en Python. Encore une fois, nous utilisons string.punctuation
pour définir une liste de ponctuations et ensuite remplacer toutes les ponctuations par une chaîne vide pour éliminer les ponctuations. L’exemple ci-dessous illustre ce principe.
s = "string. With. Punctuation?"
punct = string.punctuation
for c in punct:
s = s.replace(c, "")
print(s)
Production:
'string With Punctuations'
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