0

都市のリストのインポートに取り組んでおり、このリストの値に基づいて、さらにアクションを実行します。ただし、このリストは手動で入力されているため、エラーが発生しやすくなっています。

ある種の入力エラー認識があるかどうか疑問に思っています (Google が「x の意味でしたか?」を使用するように)。

都市のテキストの一部をチェックしようとしましたが、解決するよりも多くのエラーが発生します (都市の一部が別の都市の一部として発生する可能性があるため)。

良いことは、メモリ内に正しい都市のリストがあることです。パターンと一致する可能性がありますか?

私の質問は、これらの問題に対処する dotNet 内のサブフレームワークのフレームワークはありますか? そうでない場合、誰かが私を正しい方向に向けることができますか?

手動で入力されたリストからの一意の値の例を次に示します (X でマークされたフィールドは正しくないため、正しいフィールドにマップする必要があります)。

GDANSK
HELSINGBORG
HRADEC KRALOVE
HRADEC KRALOVE 7    x
HRADEC KRALOW       x
HYLLYKALLIO
JARVSO   
JERVSO              x
KATOWICE
KOTKA
KRAKOW
KULJO
LOIMAA
LULEA
MINSK
MINSK CEZ           x
MOLNDAL
NORRKOPING
NORROPING           x
NYBORG
NYIERGYHAZA
NYIREGYHAZA         x
OSLO
OSTRAVA
OULU
PILZEN              x
PLZEN
POZNAN
PRAHA
PRESOV
PUNANE
RIGA
RISKOV              x
RISSKOV
RODDING
SANDEFJOR           x
SANDEFJORD
SARPSBORG
ST PETERSBURG
4

1 に答える 1

2

ある種の編集距離ベースのマッチングを提案します。レーベンシュタイン距離は、スペル チェッカーや文字列一致アルゴリズムで広く使用されています。

Levenshtein_distance に関するこのウィキペディアの記事をご覧ください

これはC#実装へのリンクです

あなたがしたいことは、完全一致がない場合に、既知の都市のリストで見つかった上位 N 個の最も近いレーベンシュタイン一致を表示することです。

于 2013-11-07T13:23:46.233 に答える