删除下载的电子邮件中的回复(即来自 txt 文件的非连续重复句子)

删除下载的电子邮件中的回复(即来自 txt 文件的非连续重复句子)

各位专家、各位同学好!

我有几十个文本文件,其中包含列表服务的月度存档。我试图消除/删除引用的回复,以便每条消息在所有文件中仅出现一次。列表的大多数用户不使用内联引用,所以这很有帮助!我有消息 ID、回复和所有标题信息,但我知道这是一项棘手的任务。

使问题更加复杂的是,许多电子邮件客户端都使用不同的系统来处理回复。因此,有时引用的电子邮件在行首带有“>”(我已经学会了如何删除它),有些会插入段落分隔符(似乎是随机的?),有些会使用“---Original Message---”或“PersonZ wrote/writes:”,当然,没有标准的“end”来标记回复的结束。

我已经搜索正则表达式解决方案并测试了好几天,但还没有找到任何不需要对行进行排序就可以工作的方法(即所有解决方案都需要连续重复)。这里有一个非常接近的解决方案的例子,它涉及将所有内容都变成新行并对其进行排序 - 但对它们进行排序违背了项目的目的(语义分析)。

查找重复的短语 - 任何工具或正则表达式

这是另一个解决方案,也很接近,但它需要从行首开始搜索。它在我的环境中不起作用,因为各种电子邮件客户端会在句子中间插入段落分隔符。

https://stackoverflow.com/questions/32660532/remove-delete-all-duplicate-lines

我在 Win10 x64 桌面环境中。我对正则表达式还不太熟悉。我一直在使用简单的 FNR(codeplex、GrepWin 和 TextCrawler Free 中的“查找和替换”),并且愿意接受其他软件解决方案(或方法)。如果需要,我可以弄清楚如何使用 xammp 运行 php 命令。换句话说,整个过程都是一次学习经历,所以我很乐意继续下去。

编辑:如果您想看一个模拟示例 - 使用我知道不起作用并且不期望起作用的模拟正则表达式 - 请看此处:https://regex101.com/r/FmAMH5/1

抱歉写得这么长,但我想立即提供所需的信息。

谢谢你,杰里米

相关内容