【发布时间】:2015-01-26 14:53:29
【问题描述】:
尝试查找和替换字符串列表(由新行分隔),例如
aba
abanga
abaptiston
abarelix
有一个类似的列表
aba
aca
ada
这样,如果第二个列表中的项目出现在第一个列表中,则应将其删除。
我有一半工作的代码
def replace_all(text, dic):
for i, j in dic.iteritems():
text = text.replace(i, j)
return text
with open("words.txt", "r") as f:
content = f.readlines()
str = ''.join(str(e) for e in content) #list may include numbers
delet = {"aba":"", "aca":"", "ada":"",}
txt = replace_all(str, delet)
f = open("deltedwords.txt","w")
f.write(txt)
不幸的是,这会捕获部分字符串的误报,因此最终结果将是
nga
ptiston
relix
试图在被搜索的词之前添加空格或其他字符是行不通的,因为它往往只会产生假阴性。
【问题讨论】:
-
你能添加预期的输出吗?
-
@C.B.预期的输出将与第一个列表完全相同,只是删除了“aba”(即第一个条目)
-
您会一直完全删除行,还是也想进行实际替换?前任。 "
abarelix应该变成QQQQ"
标签: python string python-2.7 search