Ⅰ. はじめに
タイトルの通り「C#で文字列の類似度を求める方法」です。
Ⅱ. やり方
1. 必要なパッケージをNuGetからインストールする
dotnet add package Fastenshtein --version 1.0.0.8
2. サンプルプログラムを書く
using Fastenshtein; static double GetStringDiffRate(string str1, string str2) { var levenshteinDistance = Levenshtein.Distance(str1, str2); var length = (str1.Length > str2.Length) ? str1.Length : str2.Length; var diffRatio = 1.0 - ((double)levenshteinDistance / length); return diffRatio; } static void Main() { var diffRate = GetStringDiffRate("abcd1", "abcd2"); Console.WriteLine(diffRate); }
実行結果
0.8