2016-04-26 2 views
0

に私はPythonでの文章からすべての句読点を削除しようとしていますが、私はこのコードを使用する場合:エラー()はPython

myString.translate(None, string.punctuation) 

を私はエラーを取得:

translate() takes exactly one argument (2 given)

と私はエラーの理由を解決できませんでした。

+0

これはPython 2.xの構文です - 一度にPython 3.xを使用していますか? –

+0

@Jon Clements:はい私はPython 3.xを使用しています – Pela647

+0

これは、バイト文字列の構文です。 Python2.xのUnicodeはここでは動作しません。また、python3.xのバイト文字列も機能します( '' ascii''コーデックで 'string.punctuation'をエンコードしていれば...) – mgilson

答えて

0

文字列からすべての句読点を削除します。

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

例:

入力: "ねえ、これをチェックできますが!?"

出力: 'ちょっとチェックしてみましょう'