String 从文本中删除重复的单词
我有以下字符串的文本:String 从文本中删除重复的单词,string,duplicate-removal,String,Duplicate Removal,我有以下字符串的文本: {whatever}:::duplicateString:::{whatever} {whatever}:::duplicateString:::{whatever} .... {whatever}:::duplicateString:::{whatever} {whatever}:::duplicateString:::{whatever} 如何从文本中删除重复字符串:主要思想是,如果第二个单词出现多次,则将其从行中删除 第一个想法是逐行读取它们并按“:”分割,以便创
{whatever}:::duplicateString:::{whatever}
{whatever}:::duplicateString:::{whatever}
....
{whatever}:::duplicateString:::{whatever}
{whatever}:::duplicateString:::{whatever}
如何从文本中删除重复字符串:主要思想是,如果第二个单词出现多次,则将其从行中删除 第一个想法是逐行读取它们并按“:”分割,以便创建数组并通过向树集添加条目来迭代数组。好。但是怎样才能把线重新粘起来呢 我想不起来有什么机制可以解决这样的问题。。语言不重要,只是解决方案 示例文本:
Appliances:::Main
Appliances:::Main:::Appliance Warranties
Appliances:::Main:::Beer Keg Refrigerators
Appliances:::Main:::Beverage Refrigerators
Appliances:::Main:::Ceiling Fans & Accessories
Appliances:::Main:::Ceiling Fans & Accessories:::Accessories
Appliances:::Main:::Ceiling Fans & Accessories:::Accessories:::Downrod Couplers
Appliances:::Main:::Ceiling Fans & Accessories:::Accessories:::Downrods
Appliances:::Main:::Ceiling Fans & Accessories:::Accessories:::Fan Replacement Blades
理想情况下,它必须如下所示:
Appliances:::Main
Appliances:::Appliance Warranties
Appliances:::Beer Keg Refrigerators
Appliances:::Beverage Refrigerators
Appliances:::Ceiling Fans & Accessories
Appliances:::Ceiling Fans & Accessories:::Accessories
Appliances:::Ceiling Fans & Accessories:::Accessories:::Downrod Couplers
Appliances:::Ceiling Fans & Accessories:::Accessories:::Downrods
Appliances:::Ceiling Fans & Accessories:::Accessories:::Fan Replacement Blades
如果duplicateString可能只作为第二个单词出现,您可以(在Python中)执行以下操作:
在duplicateString之前只有一个单词,但之后可以出现任何数量的单词,以“::”分隔。很难确定您在这里要查找的是什么。你能在前后显示你的字符串以便更清楚吗?所以在第一行你不想删除这个词。是的。只是复制了第二个单词,保存了剩余的行。如果单词只在第一行-没有重复=)我刚刚更新了我的答案,以反映如果单词与前一行相同,您希望删除该单词。我想你们需要一些变化。主要的想法是,如果第二个单词出现不止一次,就把它从行中删除
lastWord = None
for line in open('file.txt'):
w = line.split(':::')
thisWord = w[1]
if lastWord==w[1]:
del w[1]
lastWord = thisWord
print ':::'.join(w)