大文本稳定提取带关键字的行算法

易语言 2020-12-18 13:27:00

大文本稳定提取带关键字的行算法

读入字节集 = 临时字节集 + 读入字节集 (文件号, 每次读入字节) ' 临时字节集 是上次读取字节集里最后一个换行后面的字节
.如果 (区分大小写 = 真)
读入字节集转小写 = 读入字节集
.计次循环首 (取文本长度 (关键字), i) ' 用循环是因为 可能存在 Abc ABc AbC 这种某位或某几位是大写的情况
大写字节 = 到字节集 (到大写 (取文本中间 (关键字, i, 1)))
小写字节 = 到字节集 (到小写 (取文本中间 (关键字, i, 1)))
读入字节集转小写 = 子字节集替换 (读入字节集转小写, 大写字节, 小写字节, , )
.计次循环尾 ()
寻找到的位置 = 寻找字节集 (读入字节集转小写, 小写, ) ' 在转到小写的字节集里搜索 在原字节集里提取
.否则
寻找到的位置 = 寻找字节集 (读入字节集, 小写, )
.如果结束
临时字节集 = 取字节集右边 (读入字节集, 取字节集长度 (读入字节集) - 倒找字节集 (读入字节集, { 10 }, ) + 1)
' 取出最后一个换行符后面的加到下次读取前面 防止 关键字从中间截断 导致找不到的问题