作業中のプロジェクトに対してCSVインポートツールを実行しています。クライアントは、Excelでデータを入力し、CSVとしてエクスポートして、データベースにアップロードできる必要があります。たとえば、次のCSVレコードがあります。
1, John Doe, ACME Comapny (the typo is on purpose)
もちろん、会社は別のテーブルに保持され、外部キーとリンクされているため、挿入する前に正しい会社IDを見つける必要があります。データベース内の会社名とCSV内の会社名を比較してこれを行う予定です。文字列が完全に同じである場合、比較は0を返し、文字列が大きくなるにつれて大きくなる値を返す必要がありますが、strcmpはここでそれをカットしません。理由は次のとおりです。
「AcmeCompany」と「AcmeComapny」の差指数は非常に小さいはずですが、「AcmeCompany」と「CmeaMpnyaco」の差指数は非常に大きいか、「AcmeCompany」と「AcmeComp」です。文字数が異なっていても、差指数も小さいはずです。また、「AcmeCompany」と「CompanyAcme」は0を返す必要があります。
したがって、クライアントがデータの入力中にタイプを作成した場合、おそらく挿入したい名前を選択するようにクライアントに促すことができます。
これを行うための既知のアルゴリズムはありますか、または多分私たちはそれを発明することができます:)?