Python搜索和替换大文件的正则表达式

时间:2014-09-16 17:54:52

标签: python regex nltk

在python中使用正则表达式列表来搜索和替换1GB文件中的一些特殊字符

def myreplace(text, dic):
    for i, j in dic.iteritems():
    text = text.replace(i, j)
    return text 

rep={"&":"and","-":"",'?':''}

achive=map(lambda x: myreplace(x, rep), achive) 

目前1 GB测试文件的性能很好。想知道是否有可能使这个表现更好。在NLTK中有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

对于您需要删除的两个单个字符使用翻译可能会更快,而且只有一个替换为&符号。这样,您只需解析字符串两次而不是三次。

achive = achive.translate(None, '-?').replace('&', 'and')