找回密码
 加入
搜索
查看: 7216|回复: 11

[效率算法] 遇到了一个“逐行”对比文本的问题 望各位指点

  [复制链接]
发表于 2014-7-1 20:49:05 | 显示全部楼层 |阅读模式
自己最近遇到了一个对比文本的问题具体描述如下:
两个文本可能的不同如下


而我想实现的功能如下

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

我的主要思路就是这样的但是写出来的觉得不准确
恳请各位帮忙指点下思路 谢谢啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2014-7-1 21:37:51 | 显示全部楼层
自己顶上去啊
发表于 2014-7-1 22:19:47 | 显示全部楼层
表示看不懂。楼主想实现的功能与两个码表有什么关系?不知谁看懂了?
发表于 2014-7-1 22:50:50 | 显示全部楼层
看别人的问题,对自己也是一种提高。
 楼主| 发表于 2014-7-2 13:14:23 | 显示全部楼层
回复 3# shqf


    就是对比两个码表 找到不同的编码啊……
发表于 2014-7-2 13:47:13 | 显示全部楼层
网上这类软件大把,能解决问题何必折腾自己!
 楼主| 发表于 2014-7-2 13:56:53 | 显示全部楼层
主要是想练练手
发表于 2014-7-3 08:55:58 | 显示全部楼层
你要实现的功能中“不知道b,才不是c” 是两个码表比对的结果?
 楼主| 发表于 2014-7-3 12:03:01 | 显示全部楼层
是的啊 是我对比的两个码表的不同的编码
 楼主| 发表于 2014-7-3 12:03:11 | 显示全部楼层
回复 8# shqf


   
是的啊 是我对比的两个码表的不同的编码
发表于 2014-7-5 14:04:44 | 显示全部楼层
学习,学习,学习,学习
发表于 2014-7-5 21:26:23 | 显示全部楼层
我记得在电子表格里用到函数比对两列名字是否相等 =if(b2=a2,"ture","false")    就可以找出不同的(如果其中一行不同,就插入行,继续往下比对)   这一比对完后再比对另一对代码。。。如果不同仿上继续操练。
还有的高手让我在表格里用Vlookup(value,array,num,range)可是我也才学。。。先把表格函数学好了再来。不知道对你有否启示和帮助。欢迎交流
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 22:56 , Processed in 0.083114 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表