Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
        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);
        }