Notepad++ 删除“;几乎相似”;复制品

Notepad++ 删除“;几乎相似”;复制品,notepad++,Notepad++,我试过很多东西,但都解决不了 我正在尝试清理我的模拟器ROM游戏列表 下面是它的外观: 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

我试过很多东西,但都解决不了

我正在尝试清理我的模拟器ROM游戏列表

下面是它的外观:

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

如果你能帮我搞定,我将非常感激。

因为你想删除所有括号及其内容,你可以使用记事本++的搜索和替换功能。激活正则表达式功能并使用以下模式:

\(.*?\)
将内容替换为空

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

  • 查找内容:
    (两个空格)
  • 替换为:
    (一个空格)
之后,您可以使用删除所有重复行(感谢Patrick Artners的评论)

  • 查找内容:
    \r\n(.*)\r\n\1
  • 替换为:
    \r\n\1

请注意,在删除所有重复项之前,您需要多次执行“替换”功能。

由于要删除所有大括号及其内容,您可以使用记事本++的搜索和替换功能。激活正则表达式功能并使用以下模式:

\(.*?\)
将内容替换为空

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

  • 查找内容:
    (两个空格)
  • 替换为:
    (一个空格)
之后,您可以使用删除所有重复行(感谢Patrick Artners的评论)

  • 查找内容:
    \r\n(.*)\r\n\1
  • 替换为:
    \r\n\1
请注意,您需要多次执行“替换”功能,直到删除所有重复项。

小步骤

  • 删除结束行括号,这是保留类似引用的原因,因为它们提供了唯一性。使用正则表达式,搜索
    \s*?\(.+$
    ),并用空字符串替换匹配项
  • 要删除重复行,由于重复行紧跟在一起,请查找
    ^(.*\r?\n)(\1)+
    ,并将匹配的行替换为
    \1
  • 婴儿步

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

  • 我会使用正则表达式来修剪
    到行尾,然后删除重复的行。也就是说,这可能更适合超级用户,所以我会使用正则表达式来修剪
    )到行尾,然后删除重复的行。也就是说,这可能更适合超级用户,所以在这之后删除重复的行:
    \r\n(.*)\r\n\1
    并替换为
    \1
    ?几乎完美@PatrickArtner…我已经在我的答案中添加了一个工作版本。我成功地删除了()和双空格,但下一个命令无效:\r\n(.*)\r\n\1有什么问题吗?再次感谢:)替换设置正确吗?…可能行不完全相同?(还有一些空格?)感谢您的帮助,用Tommaso公式解决了这个问题。之后要删除重复项:
    \r\n(.*)\r\n\1
    并替换为
    \1
    ?几乎完美@PatrickArtner…我在我的答案中添加了一个工作版本。我成功地删除了()和双空格,但下一个命令无效:\r\n(.*)\r\n\1有什么问题吗?再次感谢:)替换设置正确?…可能行不完全相同?(保留一些空格?)感谢您的帮助,使用Tommaso公式解决了此问题。命令^(.*?$\s+?^(?=.*^\1$)运行良好!非常感谢!)我的文件现在看起来是这样的:`1941:1942 1942h 1943 Kai:Midway Kaisen 1943:Battle of Midway 1943:Midway Kaisen 1943:Battle of Midway 1944:The Battle of Midway 1944:The Loop Master 1945 Part-2 1945k III 1991 Spikes 19XX:The War to Destiny`我编辑了我的答案,因为以前的方法显示出了缺点。试试看新的解决方案是否可行ks也是。命令^(.*?$\s+?^(?=.*^\1$)运行良好!非常感谢!:)我的文件现在看起来是这样的:`1941:1942 1942h 1943 Kai:Midway Kaisen 1943:Battle of Midway 1943:Midway Kaisen 1943:Battle of Midway 1944:The Battle of Midway 1944:The Loop Master 1945 Part-2 1945k III 1991 Spikes 19XX:The War to Destiny`我编辑了我的答案,因为之前的方法显示了缺点。如果新的解决方案也有效,请尝试。