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