有人知道那里的图书馆或软件会找到文本中的不正确之处吗?例如,假设我有......
1. Name 1, Comment 2. Name 2, Comment 3. Name 3 , Comment 5. Name 10, Comment
这个软件或库首先会删除它会发现类似的文本部分(非常类似于一段压缩软件会编码重复的类似文本部分来压缩它)但是使用变量进行容错可能会发现类似文本的一部分,现在非常相似的文本比较应用程序或差异/合并工具,它实际上可以突出它看到的不同。我正在考虑制作这个工具,但我不想重新发明轮子。如果有任何东西可以远程实现这一点,我真的想知道可能有助于这个项目或至少知道不做一个。更不用说这个答案可能会帮助其他人寻找同样的东西,我认为需求量足以供应供应,这就是为什么让我难以理解我根本找不到任何东西。
答案 0 :(得分:2)
如果您使用的是Python,可以尝试difflib。
这不是您问题的确切解决方案,但可能会有所帮助。
答案 1 :(得分:2)
根据您想要找到或纠正的现实生活中的违规行为,这个问题完全不同。
以下是使用真实文本更新的示例:
1. Lazarus Long, Get the first shot off fast.
2. Hiro Protagonist, Greatest swordfighter[sic] in the world.
3. Alice , Down the rabbit hole.
5. Orem, Sink of power.
在这个例子中,错误可以通过一个体面的文本编辑器修复,找到替换。如果您通过通配符获得创意,文本编辑器和十六进制编辑器可以创造奇迹。只要您的分隔因素存在(。或,),问题仍然很简单。你可能已经知道了;一旦其中一个缺失,问题就变得复杂得多。
难题的例子:
1. Lazarus Long, Get the first shot off fast.
2. Hiro Protagonist Greatest swordfighter[sic] in the world.
3. Alice , Down the rabbit hole.
5 . Orem, , Sink of power.
我可能会在几个步骤中攻击它。 1.清理多余的空间。 2.找出关键统计数据,例如每行的分隔符数和每个分隔列的单词或字符的平均数。大多数名字都是一两个单词,评论未知或受输入限制。 3.查找具有统计上不可能数量的关键特征的行。 4.尽力纠正它们。
我知道这不是直接解决你的问题,但也许一个想法可以解决你的问题。过去的轮胎可能从未完成任何设计。
答案 2 :(得分:0)
听起来基本上就像你想要使用正则表达式来创建一个“理想的响应”,然后将其余的行与它进行比较。
或者您可以编写一个更复杂的程序,将每行归结为Regex查询,然后将查询相互比较以查看哪些不同。