5

我有一个 .txt 文档,它由一个单词组成,后跟一行中的日期,以此类推。

Notepad++如何识别不同行中的相同单词并删除重复行?

4

4 回答 4

7

不是对您问题的直接回答,但我根据标题找到了这篇文章。我只是想删除重复的行。我在这里找到了一种简单的方法

  1. 标记所有文本 (CTRL+A)。单击 TextFX → 单击 TextFX 工具 → 检查 +Sort 仅输出唯一(在列)行(如果尚未检查)。
  2. 单击 TextFX → 单击 TextFX 工具 → 单击不区分大小写的行排序(在列处)
于 2014-02-05T16:53:57.860 回答
3

假设相同单词的相同出现日期可能不同,并且您希望保留文件中第一个出现的日期,那么这应该可以工作(确保您的文件以新行结尾):

  1. 转到“替换”对话框(您可以执行Ctrl+F并转到替换选项卡)。
  2. 在底部的“搜索模式”中选择“正则表达式”(确保未选择“.matches newline”)。
  3. 在“查找内容:”字段类型中(\s*\w+ )(.*\r\n)((.*\r\n)*)\1.*\r\n
  4. 在“替换为:”字段类型中\1\2\3
  5. 单击“替换”,直到不再出现(“全部替换”似乎对此不起作用,也许存在更好的正则表达式可以使用,但我还没有找到它)。

我已经在文件上对此进行了测试:

testing330     05:09-24/08
whatever     10:55-25/08
testing     15:57-26/08
testing667     19:22-30/08
linux     00:29-31/08
testing330     00:29-31/08
windows     12:25-31/08

结果是:

testing330     05:09-24/08
whatever     10:55-25/08
testing     15:57-26/08
testing667     19:22-30/08
linux     00:29-31/08
windows     12:25-31/08
于 2013-09-12T15:59:16.580 回答
2

您可以使用Windows上的EditPlus或 Mac 上的TextWrangler轻松排序和删除重复的行。

Notepad++ 6.5.2(免费)之后,您可以对行进行排序,或者您可以使用“插件管理器”安装插件“TextFX Characters”。

TextFX 包括许多用于转换所选文本的功能。特点: * 交互式大括号匹配 * 引号处理 * 字符大小写交替 * 文本重新换行 * 列排列 * 向下填充文本 * 向下插入计数器文本 * 文本到代码转换 * 数字转换 * URI 和 HTML 编码 * HTML 到文本转换 * 提交文本到W3C * 文本排序 * Ascii 图表 * 前导空白修复 * 自动关闭 HTML 和大括号 主页:http ://textfx.no-ip.com/textfx/

于 2015-01-14T15:40:28.163 回答
1

就我个人而言,这是我遵循的步骤。假设您在 A 列中只有 1 列数据。

  1. 将数据导入 Excel。
  2. 对数据进行排序。
  3. 插入一个函数来检查重复项。单元格 B2 将是: =IF(A2=A1,"Duplicate","")
  4. 选择所有 B 列。
  5. 复制。
  6. 粘贴特殊并粘贴值。
  7. 根据 B 列对数据进行排序。
  8. 删除所有标有“重复”的。
  9. 将数据复制回记事本++

我以为有这样的插件,但现在找不到了。否则,此链接可能会对您有所帮助。

于 2013-09-12T16:01:36.607 回答