我正在读一千行意大利文并创建一个独特单词词典。 我尝试了两种删除标点符号的方法: 使用字符串
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,…}
请问任何想法?
答案 0 :(得分:1)
您可以使用re模块和一个小的printf样式技巧来构建一个标记任何标点符号以进行替换的正则表达式。
import string
import re
a = '>>some_crazy_string..!'
print re.sub('[%s]' % string.punctuation,'',a)
打印出来
somecrazystring
我已经多次使用这个技巧来“匿名化”日志文件。