我有一個通用的一些文件名(LIST1)和另一個帶有完整名稱列表(LIST2)的biggeneric。 我需要將LIST1中的名稱與LIST2中的名稱進行匹配。例如C#比較相似的字符串
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並在框架(SignumFramework Utilities)使用它的一個實現。 它返回我在第2和3,但在我的情況下,直線距離= 1 3比2行
更好的匹配是否有其他更好的方法來比較類似的字符串?更靈活的東西?
我想說這取決於你如何定義相似性。如果僅基於Levenshtein相似性的相似性,這是正確的。但是如何定義一個共享最長公共子串的兩個字符串最接近的度量標準呢? – 2009-04-14 12:15:03