レーベンスタイン距離アルゴリズムを使用できます。ある文字列を別の文字列に変換するために必要な編集の回数を分析します。この記事ではそれについてかなり詳しく説明しており、サンプルの実装が提供されています。
Codeprojectからコピーして貼り付けます:
1. Set n to be the length of s. ("GUMBO")
Set m to be the length of t. ("GAMBOL")
If n = 0, return m and exit.
If m = 0, return n and exit.
Construct two vectors, v0[m+1] and v1[m+1], containing 0..m elements.
2. Initialize v0 to 0..m.
3. Examine each character of s (i from 1 to n).
4. Examine each character of t (j from 1 to m).
5. If s[i] equals t[j], the cost is 0.
If s[i] is not equal to t[j], the cost is 1.
6. Set cell v1[j] equal to the minimum of:
a. The cell immediately above plus 1: v1[j-1] + 1.
b. The cell immediately to the left plus 1: v0[j] + 1.
c. The cell diagonally above and to the left plus the cost: v0[j-1] + cost.
7. After the iteration steps (3, 4, 5, 6) are complete, the distance is found in the cell v1[m].