1

我正在阅读一千行意大利语文本并创建一个独特单词的字典。我尝试了两种删除标点符号的方法:使用字符串

for p in string.punctuation:
     word = word.replace(p, str())

或者 :

for line in f:
    for word in line.split():
        stripped_text =""
        for char in word:
            if char in '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~>><<<<?>>?123456789':
               char = ''
               stripped_text += char

我的问题是这仍然包含标点符号:

{'<<Dicerolti': 1,'piage>>.': 1,'succia?>>.': 1,…}

请问有什么想法吗?

4

1 回答 1

1

您可以为此使用 re 模块和一点 printf 风格的技巧来构建一个正则表达式,该表达式标记任何要替换的标点符号。

import string
import re
a = '>>some_crazy_string..!'
print re.sub('[%s]' % string.punctuation,'',a)

打印出来

一些疯狂的字符串

我已经多次使用这个技巧来“匿名化”日志文件。

于 2013-11-07T17:06:41.390 回答