【发布时间】:2010-11-10 01:03:38
【问题描述】:
假设您需要在 2 个文件之间进行某种比较。您只需要在有意义的情况下执行此操作,换句话说,您不想将 JSON 文件与 Property 文件或 .txt 文件与 .jar 文件进行比较
另外假设你有一个机制来整理所有这些东西,现在归结为实际的文件名。您可能希望将“myFile.txt”与“myFile.txt”进行比较,而不是与“somethingElse.txt”进行比较。目标是尽可能接近“苹果对苹果”的规则。
所以我们在这里,一方面有“myFile.txt”,另一方面有“_myFile.txt”、“_m_y_f_i_l_e.txt”和“somethingReallyClever.txt”。
任务是选择最接近的名称以供以后比较。很遗憾,没有找到相同的名称。
看人物构成,不难弄清楚是什么关系。我的算法说:
_myFile.txt 到 _m_y_f_i_l_e.txt 0.312 _myFile.txt 到 somethingReallyClever.txt 0.16所以 _m_y_f_i_l_e.txt 更接近 _myFile.txt 然后是 somethingReallyClever.txt。极好的。但也说 ist 仅接近 2 倍,实际上我们可以查看这 2 个文件,并且永远不会考虑将 somethingReallyClever.txt 与 _myFile.txt 进行比较。
为什么?
你建议我应用什么逻辑,不仅可以通过在同一个地方放置字符来计算可能性,还可以测试确定的重量是否有意义?
在我的示例中,somethingReallyClever.txt 的权重应该为 0.0
我希望我是清楚的。
请分享您对此的经验和想法。 (您建议的任何方法都不应取决于文件名包含的字符数)
【问题讨论】:
-
Word comparison algorithm 的可能重复项
标签: java string comparison