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