cumtljj 发表于 2014-7-1 20:49:05

遇到了一个“逐行”对比文本的问题 望各位指点

自己最近遇到了一个对比文本的问题具体描述如下:
两个文本可能的不同如下

而我想实现的功能如下

这是我自己写的代码后实现的功能但是总是检测不全
我的思路如下
1用正则读出旧码表中的每行的数据转成二进制用assign 逐个定义变量
2 同样用正则读取新码表中的每一行数据转成二进制判断变量是否定义了
3 没有定义的就是新增的或是有变化的
4再返过来先用新码表定义再用旧码表判断 这样检测出来的不同的就是已删除的或是改变的
5综合3 4 就能找到所有变化的、删除的、新增的了
6重点是变化的如何找出来呢?我的做法是:
    把“啊 a”拆分成两个两个数组 比如$array="啊"$array=“a”
    其他同样处理 新旧码表都是如此
    然后再用新码表中的每一个数组在旧码表的数组中进行遍历 不同的就记录下来
   然后再组合成我想要的“啊 a---啊啊 a”的格式
我的主要思路就是这样的但是写出来的觉得不准确
恳请各位帮忙指点下思路 谢谢啊

cumtljj 发表于 2014-7-1 21:37:51

自己顶上去啊

shqf 发表于 2014-7-1 22:19:47

表示看不懂。楼主想实现的功能与两个码表有什么关系?不知谁看懂了?

gf8888358 发表于 2014-7-1 22:50:50

看别人的问题,对自己也是一种提高。

cumtljj 发表于 2014-7-2 13:14:23

回复 3# shqf


    就是对比两个码表 找到不同的编码啊……

hollandmfq 发表于 2014-7-2 13:47:13

网上这类软件大把,能解决问题何必折腾自己!

cumtljj 发表于 2014-7-2 13:56:53

主要是想练练手

shqf 发表于 2014-7-3 08:55:58

你要实现的功能中“不知道b,才不是c” 是两个码表比对的结果?

cumtljj 发表于 2014-7-3 12:03:01

是的啊 是我对比的两个码表的不同的编码

cumtljj 发表于 2014-7-3 12:03:11

回复 8# shqf


   
是的啊 是我对比的两个码表的不同的编码

ak47gglllk 发表于 2014-7-5 14:04:44

学习,学习,学习,学习

dunphy 发表于 2014-7-5 21:26:23

我记得在电子表格里用到函数比对两列名字是否相等 =if(b2=a2,"ture","false")    就可以找出不同的(如果其中一行不同,就插入行,继续往下比对)   这一比对完后再比对另一对代码。。。如果不同仿上继续操练。
还有的高手让我在表格里用Vlookup(value,array,num,range)可是我也才学。。。先把表格函数学好了再来。不知道对你有否启示和帮助。欢迎交流
页: [1]
查看完整版本: 遇到了一个“逐行”对比文本的问题 望各位指点