如何删除python中与正则表达式匹配的所有字符串?

时间:2013-12-17 03:34:17

标签: python regex string

我有一个字典,其中包含大量要删除的条目。我可以写一个常规表达式来查找所有条目,但我不知道如何将它们全部删除。

3 个答案:

答案 0 :(得分:2)

迭代dict并构建一个只包含你想要保留的元素的新dict:

new_dict = {key: value for key, value in old_dict.iteritems() if keep(key, value)}

您也可以通过使用del删除旧dict中的项目来执行此操作,但是在迭代它时修改某些内容非常棘手。通常最好不要这样做。

答案 1 :(得分:1)

del语句正是如此。

def remove(dic, key):
    re = dict(dic)
    del re[key]
    return re

答案 2 :(得分:0)

要删除正则表达式匹配,我们可以使用re.sub(pattern,replace_with,string)方法,键是top使replace_with为空字符串,以便匹配替换为空字符串:

例如,此脚本将删除所有非数字字符:

import re

string = "My age is 99"
print re.sub('\D+','',string)

输出:

99