我有一个带有一些文件名(LIST1)的泛型,另一个是带有完整名称列表(LIST2)的biggeneric。
我需要将LIST1中的名称与LIST2中的相似名称进行匹配。例如

LIST1
- **MAIZE_SLIP_QUANTITY_3_9.1.aif**

LIST 2
1- TUTORIAL_FAILURE_CLINCH_4.1.aif
2- **MAIZE_SLIP_QUANTITY_3_5.1.aif**
3- **MAIZE_SLIP_QUANTITY_3_9.2.aif**
4- TUTORIAL_FAILURE_CLINCH_5.1.aif
5- TUTORIAL_FAILURE_CLINCH_6.1.aif
6- TUTORIAL_FAILURE_CLINCH_7.1.aif
7- TUTORIAL_FAILURE_CLINCH_8.1.aif
8- TUTORIAL_FAILURE_CLINCH_9.1.aif
9- TUTORIAL_FAILURE_PUSH_4.1.aif


我已经阅读了有关Levenshtein distance的信息,并在Framework(SignumFramework Utilities)中使用了它的实现。
它在第2行和第3行中返回我distance = 1。但是在我的情况下,第3行比第2行更匹配。

还有另一种方法可以更好地比较相似的字符串吗?有什么更灵活的方法吗?

最佳答案

作为字符串进行比较时,“ 9.2”的匹配度比“ 5.1”的“ 5.1”更好。如果要对版本号进行数字评估,则必须解析字符串,以便可以分别比较字符串部分和数字部分。

关于c# - C#比较相似的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/747169/

10-12 20:31