← retour aux snippets

str.translate: supprimer la ponctuation rapidement

Utiliser translate/maketrans pour filtrer des caractères.

objectif

Utiliser translate/maketrans pour filtrer des caractères.

code minimal

import string
s = "Salut, monde! #2025"
table = str.maketrans("", "", string.punctuation)
print("!" not in s.translate(table))  # attendu: True

utilisation

import string
t = str.maketrans("", "", string.digits)
out = "v1r2".translate(t)
print(out == "vr")

variante(s) utile(s)

print(isinstance(str.maketrans("", "", "x"), dict))

notes

  • maketrans avec third arg supprime les caractères donnés.
  • Pour remplacements, passez un mapping char->char(s).