删除"几乎相似"重复

时间:2018-01-01 18:35:12

标签: notepad++

我尝试了很多东西,但不能解决这个问题。

我正在尝试清理我的Emulators Roms游戏列表。

这是它的样子:

1943 Kai: Midway Kaisen (Japan) 
1943: Battle of Midway (bootleg, hack of Japan set) 
1943: Midway Kaisen (Japan) 
1943: Midway Kaisen (Japan, Rev B) 
1943: The Battle of Midway (Euro) 
1943: The Battle of Midway (US, Rev C) 
1944: The Loop Master (Japan 000620) 
1944: The Loop Master (USA 000620 Phoenix Edition) (bootleg) 
1944: The Loop Master (USA 000620) 
1945 Part-2 (Chinese hack of Battle Garegga) 
1945k III 
1991 Spikes (Italian bootleg) 
19XX: The War Against Destiny (Asia 951207) 
19XX: The War Against Destiny (Brazil 951218) 
19XX: The War Against Destiny (Hispanic 951218) 
19XX: The War Against Destiny (Japan 951207) 
19XX: The War Against Destiny (Japan 951225) 
19XX: The War Against Destiny (USA 951207 Phoenix Edition) (bootleg) 
19XX: The War Against Destiny (USA 951207) 

我需要的是每场比赛只保留一行并删除()之间的内容以获得类似的内容:

1943 Kai: Midway Kaisen 
1943: The Battle of Midway
1944: The Loop Master
1945 Part-2
1945k III 
1991 Spikes
19XX: The War Against Destiny

如果你能帮助我欺骗它,我将非常感激。

2 个答案:

答案 0 :(得分:2)

由于您要删除所有带有内容的支架,您可以使用Notepad ++的搜索和替换功能。激活正则表达式功能并使用以下模式:

\(.*?\)

无内容替换内容。

enter image description here

由于文档中存在一些不规则的空格,第二步是通过

删除所有双空格
  • 找到:(两个空格)
  • 替换为:(一个空格)

之后,您可以删除所有重复的行(感谢Patrick Artners评论)

  • 找到:\r\n(.*)\r\n\1
  • 替换为:\r\n\1

请注意,您需要多次执行replace函数,直到删除所有重复项。

答案 1 :(得分:0)

宝贝步骤......

  1. 删除结束括号,这就是保留类似引用的原因,因为它们提供了唯一性。使用正则表达式,搜索\s*?\(.+$并将匹配的匹配项替换为空字符串。
  2. 为了删除重复的行,由于重复的行紧接着,所以找到^(.*\r?\n)(\1)+并将匹配的匹配项替换为\1