|
本帖最后由 萧阳天 于 2015-10-14 21:34 编辑
.版本 2
.子程序 字节集_寻找子字节集, 整数型, 公开, 查找所有欲寻找的字节集 ,将每个位置放入 结果数组
.参数 被搜寻的字节集, 字节集
.参数 欲寻找的字节集, 字节集
.参数 结果数组, 整数型, 数组
.参数 startoffset, 整数型, 可空
.局部变量 i
.局部变量 j
.局部变量 len_y
清除数组 (结果数组)
i = 1
.如果 (是否为空 (startoffset))
j = 1
.否则
j = startoffset
.如果结束
len_y = 字节集_取长度 (欲寻找的字节集)
.判断循环首 (i ≠ -1)
i = 字节集_寻找 (被搜寻的字节集, 欲寻找的字节集, j)
.如果真 (i ≠ -1)
加入成员 (结果数组, i)
j = i + len_y
.如果真结束
.判断循环尾 ()
返回 (取数组成员数 (结果数组))
.版本 2
.子程序 字节集_子字节集替换, 字节集, 公开, 将所有的预被替换的字节集用 用作替换的子字节集 替换
.参数 欲被替换的字节集, 字节集
.参数 欲被替换的子字节集, 字节集
.参数 用作替换的子字节集, 字节集, 可空, 可以被省略。如果省略本参数,则默认为空字节集。
.参数 进行替换的起始位置, , 可空, 可以被省略。被替换子字节集的起始搜索位置。如果省略,默认从1开始。
.参数 替换进行的次数, , 可空, 可以被省略。对子字节集进行替换的次数。如果省略,默认进行所有可能的替换。
.局部变量 offset, 整数型, , "0"
.局部变量 count
.局部变量 i
.局部变量 ret, 字节集
.局部变量 len
.局部变量 偏移
.如果真 (欲被替换的字节集 = { } 或 欲被替换的子字节集 = { })
返回 ({ })
.如果真结束
.如果真 (是否为空 (进行替换的起始位置))
进行替换的起始位置 = 1
.如果真结束
count = 字节集_寻找子字节集 (欲被替换的字节集, 欲被替换的子字节集, offset, 进行替换的起始位置)
.如果真 (count = 0)
返回 (欲被替换的字节集)
.如果真结束
.如果真 (是否为空 (替换进行的次数) 或 替换进行的次数 > count)
替换进行的次数 = count
.如果真结束
ret = 欲被替换的字节集
len = 字节集_取长度 (欲被替换的子字节集)
偏移 = 字节集_取长度 (用作替换的子字节集) - len
.计次循环首 (替换进行的次数, i)
.如果 (i = 1)
ret = 字节集_替换 (ret, offset , len, 用作替换的子字节集)
.否则
ret = 字节集_替换 (ret, offset + 偏移, len, 用作替换的子字节集)
.如果结束
.计次循环尾 ()
返回 (ret)
|
评分
-
查看全部评分
|