Spezielle Interpunktion entfernen

Nov 01 2020

In meinem Text habe ich Sonderzeichen wie Bindestriche und Guillemets (spitze Anführungszeichen), die nicht durch Weglassen entfernt werden string.punctuation

Wie kann diese Art der Interpunktion in Python 3 korrekt aus Zeichenfolgen entfernt werden?

import string

mystring = ' »De fleste – digitale –'
mystring.translate(str.maketrans('', '', string.punctuation))
' »De fleste – digitale –'

Antworten

1 dspr Nov 01 2020 at 03:07

Versuche dies :

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

Hier ist eine einfache Lösung:

    mystring = ' »De fleste – digitale –'
    print(''.join(x for x in mystring if x not in ['»', '–', '?', '!', '«']))

Sie können der Liste innerhalb der .join()Funktion hinzufügen, was Sie weglassen möchten