|

30精币
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
原始数据:
[10:30:53] 找到灰度匹配的图 | 主线任务2.png | score=0.919929
[10:30:53] 找到灰度匹配的图 | 主线任务2.png | score=0.919929
[10:30:54] 没找到的透明匹配图 | 透明图测试.png | score=0.939469
[10:30:54] 没找到的透明匹配图 | 透明图测试.png | score=0.949927
[10:30:54] 没找到的透明匹配图 | 透明图测试.png | score=0.948842
[10:30:54] 没找到的透明匹配图 | 透明图测试.png | score=0.961875
[10:30:55] 没找到的透明匹配图 | 透明图测试.png | score=0.963325
[10:30:55] 找到灰度匹配的图 | 主线任务2.png | score=0.920524
[10:31:54] 没找到的透明匹配图 | 透明图测试.png | score=0.961875
[10:31:55] 没找到的透明匹配图 | 透明图测试.png | score=0.963325
[10:31:55] 找到灰度匹配的图 | 主线任务2.png | score=0.920524
[10:31:54] 没找到的透明匹配图 | 透明图测试.png | score=0.961875
[10:31:55] 没找到的透明匹配图 | 透明图测试.png | score=0.963325
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
上面是我需要去处理的原始数据,是一个日志文件,我为了能更好的定位问题和阅读性,我需要在用户点击了保存并输出日志的按钮时,将上面这个日志内容处理成下面这样的:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
找到的图
[10:30:53] 找到灰度匹配的图 | 主线任务2.png | score=0.919929 |出现次数:2
//[10:30:53] 找到灰度匹配的图 | 主线任务2.png | score=0.919929//注意,这行因为在10:30分跟上面那行重复了,所以不输出,这里我打上注释只是为了方便理解我的意思。实际不在处理后的数据内
[10:30:55] 找到灰度匹配的图 | 主线任务2.png | score=0.920524
[10:31:55] 找到灰度匹配的图 | 主线任务2.png | score=0.920524
未找到的图
[10:30:54] 没找到的透明匹配图 | 透明图测试.png | score=0.939469
[10:30:54] 没找到的透明匹配图 | 透明图测试.png | score=0.949927
[10:30:54] 没找到的透明匹配图 | 透明图测试.png | score=0.948842
[10:30:54] 没找到的透明匹配图 | 透明图测试.png | score=0.961875
[10:30:55] 没找到的透明匹配图 | 透明图测试.png | score=0.963325
[10:31:54] 没找到的透明匹配图 | 透明图测试.png | score=0.961875
[10:31:55] 没找到的透明匹配图 | 透明图测试.png | score=0.963325|出现次数:2
[10:31:55] 没找到的透明匹配图 | 透明图测试.png | score=0.963325//这里也不应该被输出进来,因为10:31分也有一个重复的
[10:31:54] 没找到的透明匹配图 | 透明图测试.png | score=0.961875
[10:31:55] 没找到的透明匹配图 | 透明图测试.png | score=0.963325
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我再详细描述一下需求:[color=rgba(0, 0, 0, 0.9)]我需要先根据“找到”和“没找到“对原始数据进行分组(这个已经写好)然后再依次从“找到”这个数组数据中,将时间(精确到分钟)相同的数组数据分类出来(没写好,想不出来怎么分类)然后再从分类好的时间数组数据中,将其中的数据去重并且在第一次出现重复的数据后面加入重复次数(这个也已经写好)之后再将处理好的数据保存到“找到”这个数组中“没找到”数组也是一样的处理方法。然后将这两个保存到运行目录下的输出日志txt中。下面是写好的部分易代码:
变量名 | 类 型 | 静态 | 数组 | 备 注 | 路径 | 文本型 | | | 文本数据 | 文本型 | | | 文件号 | 整数型 | | | 处理后的文本 | 文本型 | | |
路径 = 取运行目录 () + “/日志输出.txt” 文本数据 = #常量2 处理后的文本 = 处理日志内容 (文本数据 ) 文件号 = 打开文件 (路径, 5, 1 )移到文件尾 (文件号 )写文本行 (文件号, 处理后的文本 )关闭文件 (文件号 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 行数组 | 文本型 | | 0 | 找到的列表 | 文本型 | | 0 | 没找到的列表 | 文本型 | | 0 | i | 整数型 | | | 当前行 | 文本型 | | | 时间部分 | 文本型 | | | 内容部分 | 文本型 | | | 空格位置 | 整数型 | | | 分类标记 | 文本型 | | | 处理后的文本 | 文本型 | | | 当前时间 | 文本型 | | | 文本_分割文本 (原始日志内容, #换行符, , 行数组 ) 计次循环首 (取数组成员数 (行数组 ), i ) 当前行 = 行数组 [i ] 如果真 (当前行 ≠ “”)   空格位置 = 寻找文本 (当前行, “ ”, , 假)   如果真 (空格位置 ≠ -1 )   时间部分 = 取文本左边 (当前行, 空格位置 )    内容部分 = 取文本右边 (当前行, 取文本长度 (当前行 ) - 空格位置 )      如果 (寻找文本 (内容部分, “没找到”, 1, 假) > 0 )   加入成员 (没找到的列表, 时间部分 + “ ” + 内容部分 )   加入成员 (找到的列表, 时间部分 + “ ” + 内容部分 )         计次循环尾 ()合并重复行 (找到的列表 )合并重复行 (没找到的列表 ) 处理后的文本 = “【找到的图】” + #换行符 + 数组_合并 (找到的列表, #换行符 ) + #换行符 + #换行符 处理后的文本 = 处理后的文本 + “【没找到的图】” + #换行符 + 数组_合并 (没找到的列表, #换行符 )返回 (处理后的文本 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 文本数组_去重复 | 文本型 | | 0 | i | 整数型 | | | 出现次数 | 整数型 | | | 文本数组_排序 | 文本型 | | 0 | 临时数组 | 文本型 | | 0 | 文本数组 | 文本型 | | 0 | 处理数组 | 文本型 | | 0 | 合并文本 | 文本型 | | |
文本数组_去重复 = 列表数组 数组_去重复 (文本数组_去重复, ) 计次循环首 (取数组成员数 (文本数组_去重复 ), i ) 出现次数 = 数组_取次数 (列表数组, 文本数组_去重复 [i ]) 判断 (出现次数 < 10 ) 加入成员 (文本数组_排序, “00” + 到文本 (出现次数 ) + “&” + 文本数组_去重复 [i ]) 判断 (出现次数 < 100 ) 加入成员 (文本数组_排序, “0” + 到文本 (出现次数 ) + “&” + 文本数组_去重复 [i ]) 加入成员 (文本数组_排序, 到文本 (出现次数 ) + “&” + 文本数组_去重复 [i ])  计次循环尾 () 计次循环首 (取数组成员数 (文本数组_排序 ), i ) 临时数组 = 分割文本 (文本数组_排序 [i ], “&”, ) 合并文本 = 临时数组 [2 ] + “次数:” + 到文本 (到整数 (临时数组 [1 ])) 加入成员 (处理数组, 合并文本 ) 计次循环尾 ()列表数组 = 处理数组
|
最佳答案
查看完整内容
[e=1].版本 2
.支持库 RegEx
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 文本, 文本型
.局部变量 数组, 文本型, , "0"
.局部变量 数, 整数型
.局部变量 前缀, 文本型
.局部变量 后缀, 文本型
.局部变量 结果, 文本型
.局部变量 正则, 正则表达式
.局部变量 成员, 文本型
.局部变量 已处理, 逻辑型, , "0"
.局部变量 出现次数, 整数型
.局部变量 当前, 文本型
.局部变量 值, 整数型
.局部 ...
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|