2016-04-26 9 views
0

Ich versuche, alle Satzzeichen aus einem Satz in Python zu löschen, aber wenn ich diesen Code verwenden:Fehler beim Übersetzen mit() in Python

myString.translate(None, string.punctuation) 

ich den Fehler:

translate() takes exactly one argument (2 given)

und ich konnte den Grund für den Fehler nicht lösen.

+0

Das ist die Syntax für Python 2.x - verwenden Sie Python 3.x pro chance? –

+0

@Jon Clements: Ja, ich benutze Python 3.x – Pela647

+0

Genauer gesagt, das ist die Syntax für Byte-Strings. Unicode auf Python2.x würde auch hier nicht funktionieren, und Byte-Strings auf Python3.x funktionieren (vorausgesetzt, Sie codieren 'string.punctuation' mit dem '' ASCII'-Codec ...) – mgilson

Antwort

0

Alle entfernen Interpunktion aus einem String:

import string 
transtable = {ord(c): None for c in string.punctuation} 
strp = line.translate(transtable) 
strp 

Beispiel:

Input: "Hey, das Lets Check-out !?"

Ausgang: 'Hey Lets check this out'

Verwandte Themen