【问题标题】:remove lines that has duplicated words in begining before comma删除逗号前开头有重复单词的行
【发布时间】:2013-12-27 17:22:23
【问题描述】:

欢迎,

这是文本文件

索玛,ID 6588,1988 年

劳拉,ID 4652,1995

约翰,ID 1098,1987 年

索玛,ID 7898,1998

约翰,ID 1024,1996 年

我想删除在第一个逗号之前以重复单词开头的任何行。

所以文本将是:

索玛,ID 6588,1988 年

劳拉,ID 4652,1995

约翰,ID 1024,1996 年

订单不是必需的。

有什么想法吗?

使用:notepad++,vb.net。

【问题讨论】:

  • 您所说的重复单词的任何例子吗?
  • @Nadeem_MK 喜欢 Soma,John 。它们在不同的行中重复。

标签: vb.net text replace notepad++ comma


【解决方案1】:

您可以尝试将每一行添加到dictionary。使用逗号之前的部分作为键,将行的其余部分作为数据。然后,您可以在每次添加新行时使用.ContainsKey 方法检查该行是否已存在。教程是here

【讨论】:

    【解决方案2】:
    【解决方案3】:

    不需要VB.net,正则表达式就可以做到。

    1. 用notepad++打开你的文本文件
    2. 按 CTRL+H 显示替换窗口
    3. 在“查找内容”中,输入(^[^,]+).+\r\n((.|\r\n)+)\1
    4. 在“替换为”中,输入\2\1
    5. 在“搜索模式”中,选择“正则表达式”
    6. 点击“全部替换”按钮几次,直到 0 个匹配项被替换
    7. 你得到了你想要的。

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      • 2014-03-01
      • 2013-06-28
      • 2018-05-05
      • 1970-01-01
      相关资源
      最近更新 更多