私はいくつかのファイル名(LIST1)と完全な名前リスト(LIST2)を持つもう一つの大きな名前のジェネリックを持っています。 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の類似性にのみ基づいて類似性がある場合、これは正しいです。しかし、最も類似した部分文字列を共有する2つの文字列を定義するメトリックはどうでしょうか? –
(続き)または、最も多くのnグラムを共有していますか?ストリングを比較できる方法はたくさんありますが、おそらくオールスーツはありません。すべてのメトリックです。 –