public static void Main() { var dmp = new diff_match_patch(); while (true) { Console.Clear(); Console.WriteLine("Enter 2 texts seperated by enter"); var input1 = Console.ReadLine().Trim().Replace(" ", ""); var input2 = Console.ReadLine().Trim().Replace(" ", ""); var diff = dmp.diff_main(input1, input2); var result = dmp.diff_levenshtein(diff); Console.WriteLine("Result = " + result); double similarity = 100 - ((double)result / Math.Max(input1.Length, input2.Length) * 100); Console.WriteLine("Similarity = " + similarity); Console.WriteLine("Insert 'q' and then press enter to exit"); var input3 = Console.ReadLine().Trim().Replace(" ", ""); if (input3 == "q") { break; } } }
public double CalculatePercentChanged() { string page1 = _cache; string page2 = Helpers.WebHelper.DownloadWebPage(_url); if (page2 == "") { Error(); return(-1.0); } diff_match_patch difflib = new diff_match_patch(); List <Diff> list = difflib.diff_main(page1, page2); double levenshtein = difflib.diff_levenshtein(list); double length = (page1.Length > page2.Length) ? page1.Length : page2.Length; double percentDifferent = levenshtein / length * 100; return(percentDifferent); }