Suppression de la ponctuation spéciale
Nov 01 2020
Dans mon texte, j'ai des caractères spéciaux tels que des tirets em et des guillemets (guillemets pointus) qui ne sont pas supprimés en omettant string.punctuation
Quelle est la bonne façon de supprimer ce type de ponctuation des chaînes dans Python 3?
import string
mystring = ' »De fleste – digitale –'
mystring.translate(str.maketrans('', '', string.punctuation))
' »De fleste – digitale –'
Réponses
1 dspr Nov 01 2020 at 03:07
Essaye ça :
import itertools as it
mystring = ' »De fleste – digitale –'
newstring = ''
mystring = newstring.join(it.filterfalse(lambda x: x in '»–', mystring))
print(mystring) #=> " De fleste digitale"
xerxes Nov 02 2020 at 00:56
voici une solution simple:
mystring = ' »De fleste – digitale –'
print(''.join(x for x in mystring if x not in ['»', '–', '?', '!', '«']))
vous pouvez ajouter ce que vous voulez omettre à la liste à l'intérieur de la .join()fonction