计算两个字符串之间的更改次数

时间:2015-11-10 17:06:54

标签: c#

字符串1:

  

这意味着他的下一个任务将是7月份的英格兰之旅   2016.巴基斯坦测试专家的其余部分将参加大量有限的板球比赛,包括亚洲杯和下一届世界T20   年。米斯巴已经退出了较短的格式。

字符串2:

  

这意味着他的下一个大将是2016年7月的英格兰之旅   巴基斯坦测试专家的剩余部分将充分利用   限制性板球,包括亚洲杯和Worlding T20   明年。米斯巴有两种较短的格式。

在字符串2中我添加了两个单词big&在。 修改了两个单词播放(在字符串1中播放)& worlding(字符串1中的世界)并删除了两个单词(赋值和退休)。

所以字符串2的总变化是6&他们是(大,在,玩,工作,任务和退休)。 但是当我计算得到8个变化时。这是我的代码。

MatchCollection firstText = Regex.Matches(string 1, @"[\S]+");

MatchCollection secondText = Regex.Matches(string 2, @"[\S]+");

var typingText = firstText.Cast<Match>().Select(m => m.Value).ToArray();

var ReviewText = secondText.Cast<Match>().Select(m => m.Value).ToArray();


            List<string> diffe;
            List<string> diffe1;

            IEnumerable<string> str3 = typingText;
            IEnumerable<string> str4 = ReviewText;

            diffe = str4.Except(str3).ToList();    

            diffe1 = str3.Except(str4).ToList(); 

这里diffe给出了输出4(两个添加的单词和两个在字符串2中修改的单词)

&安培; diffe1给出了输出4(字符串2中的两个实际删除的单词和两个删除的单词(在字符串2中修改了))

但我需要将其计算为6。

0 个答案:

没有答案