.strip()
如下图使用的时候为什么不去掉标点符号translate()
呢?
s = 'Hello world! Good-bye world?'
s = s.strip(string.punctuation + string.whitespace).lower()
给出:'hello world! good-bye world'
s = translate(None, string.punctuation)
给出:hello world goodbye world
.strip()
如下图使用的时候为什么不去掉标点符号translate()
呢?
s = 'Hello world! Good-bye world?'
s = s.strip(string.punctuation + string.whitespace).lower()
给出:'hello world! good-bye world'
s = translate(None, string.punctuation)
给出:hello world goodbye world
如果你想要一个好的语言工具,你不妨使用 nltk。对于这样的事情非常有效,如果你想改进,你可以使用分词器。
以下线程对此主题进行了很好的讨论:Best way to strip punctuation from a string in Python
我发现的一种解决方案是:
re.sub('[%s]'%(re.escape(string.punctuation)),' ', s1)
如果您想用任何内容替换 - 压缩标点符号然后执行:
re.sub('[%s]'%(re.escape(string.punctuation)),'', s1)
我们构建了一个字符类,小心地避开标点字符。然后用空格字符替换它们中的任何一个。