string.translate()不接受2个args

时间:2017-11-08 03:45:25

标签: python python-3.x

我已经看了几个答案 Best way to strip punctuation from a string in Python 但这些似乎都没有解决我的问题。我试图使用string.translate()从字符串中去掉标点符号。

当我运行代码时:

import string
s = "This. has? punctuation," 
noPunct = s.translate(s.maketrans("",""), string.punctuation)

我明白了:

TypeError: translate() takes exactly one argument (2 given)

这可能是我正在使用的python版本的问题吗?我使用python 3.5.4与nltk兼容。否则我很难过。任何帮助,将不胜感激。

3 个答案:

答案 0 :(得分:1)

您正在使用Python 2.x代码,但正在运行Python 3.x.向下滚动链接的问题,看看如何在Python 3.x中执行此操作:

RemoveProperties

答案 1 :(得分:1)

s.translate(mapping) 的Python 3界面使用映射。使用str.translate创建一个:

str.maketrans

答案 2 :(得分:0)