|
模块版本:开源最新版
所用系统:所有操作系统
命令名称:文本_取中间_批量
BUG描述:首次调用子程序时,请把返回的数组清空,否则二次调用会将上一次数组叠加返回!
我的联系QQ:(修复漏洞时,请注上:感谢尔康 祝精易语越办越好!)
-------如果可以,请把测试有问题的【源码】上传上来,方便我们测试。如果你有解决方案请一并提出,感谢!--------
本文章来自:精易论坛(http://bbs.125.la/thread-13633022-1-1.html)请保留此链接, 感谢!
下面是修复方法!
[e]
.版本 2
.子程序 文本_取中间_批量, 整数型, 公开, 比如:欲取全文本为<12345>,现在要取出“3”,<3>的前面为“2”,<3>的后面为“4”
.参数 源文本, 文本型, , 比如:欲取全文本为 12345
.参数 前面标识文本, 文本型, , 3的前面为“2”
.参数 后面标识文本, 文本型, , 3的后面为“4”
.参数 存放取出文本的数组, 文本型, 可空 数组, 存放取出文本的数组
.参数 是否区分大小写, 逻辑型, 可空, 是否区分大小写
.参数 文本长度大于此数的不要, 整数型, 可空, 文本长度大于此数的不要;如取出的文本大于50的不要;留空为不限制
.参数 为取出的文本加上前缀, 文本型, 可空, 在取出的文本前面加上一段字符或汉字!可空!
.参数 为取出的文本加上后缀, 文本型, 可空, 在取出的文本后面加上一段字符或汉字!可空!
.参数 连前面标识文本一起取出, 逻辑型, 可空, 是否连<前面标识文本>一起取出? 默认为假,不取出!
.参数 连后面标识文本一起取出, 逻辑型, 可空, 是否连<后面标识文本>一起取出? 默认为假,不取出!
.参数 起始搜寻位置, 整数型, 可空, 注明:位置值从 1 开始。如果本参数被省略,默认为 1 。
.局部变量 局_数组, 文本型, , "0"
.局部变量 局_首次, 逻辑型, 静态
.局部变量 局_结果, 文本型
.局部变量 局_位置, 整数型
.局部变量 局_位置1, 整数型
.如果真 (取反 (局_首次))
清除数组 (存放取出文本的数组)
.如果真结束
局_首次 = 真
' //上面这段代码必须加上,判断是否第一次调用该子程序,返回后在初始化
是否区分大小写 = 取反 (是否区分大小写)
局_位置 = 寻找文本 (源文本, 前面标识文本, 起始搜寻位置, 是否区分大小写) + 1
局_位置1 = 寻找文本 (源文本, 后面标识文本, 局_位置 + 取文本长度 (前面标识文本), 是否区分大小写)
.如果真 (局_位置 < 1 或 局_位置1 < 1)
返回 (0)
.如果真结束
局_位置 = 局_位置 + 取文本长度 (前面标识文本) - 1
局_结果 = 删首尾空 (取文本中间 (源文本, 局_位置, 局_位置1 - 局_位置))
.如果真 (局_结果 = “”)
返回 (0)
.如果真结束
.如果真 (文本长度大于此数的不要 ≠ 0 且 取文本长度 (局_结果) > 文本长度大于此数的不要)
返回 (0)
.如果真结束
局_结果 = 为取出的文本加上前缀 + 局_结果
局_结果 = 局_结果 + 为取出的文本加上后缀
.如果真 (连前面标识文本一起取出)
局_结果 = 前面标识文本 + 局_结果
.如果真结束
.如果真 (连后面标识文本一起取出)
局_结果 = 局_结果 + 后面标识文本
.如果真结束
加入成员 (存放取出文本的数组, 局_结果)
文本_取中间_批量 (源文本, 前面标识文本, 后面标识文本, 存放取出文本的数组, 是否区分大小写, 文本长度大于此数的不要, 为取出的文本加上前缀, 为取出的文本加上后缀, 连前面标识文本一起取出, 连后面标识文本一起取出, 局_位置1)
局_首次 = 假
返回 (取数组成员数 (存放取出文本的数组))
[/e] |
评分
-
查看全部评分
|