用于删除str
的标点符号。
tbl = dict.fromkeys(i for i in xrange(sys.maxunicode)
if unicodedata.category(unichr(i)).startswith('P'))
def remove_punctuation(text):
return text.translate(tbl)
remove_punctuation(',')
但是当我运行代码时它显示错误消息:
Traceback (most recent call last):
File "C:/Users/user/PycharmProjects/untitled2/is_include.py", line 22, in <module>
remove_punctuation('')
File "C:/Users/user/PycharmProjects/untitled2/is_include.py", line 20, in remove_punctuation
return text.translate(tbl)
TypeError: expected a character buffer object
答案 0 :(得分:-1)
text.translate()
期待一个字符串。请务必先将tbl
转换为字符串。
def remove_punctuation(text):
return text.translate(str(tbl))
更新:
或者,正如评论回复中提到的Sven Marnach,您可以使用unicode-translate。
remove_punctuation(u',')