我有两段文字,第一段的源,第二段是源的修改版,可能增加字串、删除字串、修改字串等,我想按句子进行比较,请问增加的部分和删除的部分怎么获取?如下:
     
//PhotoShop制作涟漪波浪效果的GIF。
//用无线路由器中继功能提高网速。
//Beini在VMware下交换握手包。
    
//PhotoShop制作涟漪波浪效果的GIF。
//新增一句。
//用无线路由器中继功能提高网速。//删除---Beini在VMware下交换握手包。然后第一句没问题,修改版的第二句是新增的,最后一句被删除了 ,怎么才能实现两个段落的对比,增删改都有所体现 
//PhotoShop制作涟漪波浪效果的GIF。  //PhotoShop制作涟漪波浪效果的GIF。
                                      //新增一句。
//用无线路由器中继功能提高网速。      //用无线路由器中继功能提高网速。
//Beini在VMware下交换握手包。       //删除---Beini在VMware下交换握手包。
求指教?急C#  .netcompare 字符串对比

解决方案 »

  1.   

    其实修改这个定义不是很精确。我也可以是删除了一句再增加了一句啊。
    如果只是寻找最小改动的数量,可以参考下字符串的编辑距离(Levenstein Distance)的算法,变成字符串组的编辑距离,不过这样修改的话就相当于是整句完全变都可以了。
      

  2.   

    你把每行放在数组里,或listbox控件里,进行数组之间的比较,
    int[] A = {1, 2,3, 4, 5,6, 7, 8 }; 
    int[] B = { 1, 4, 5, 6, 7, 8 ,9,10};
    var list1 = A.Intersect(B);//相同的数据 
    var list2 = A.Except(B);//A中有B中没有的 
    var list3 = B.Except(A);//B中有A中没有的