|
本帖最后由 尔康 于 2013-2-13 14:28 编辑
文本_取中间_批量,这个命令有问题!
你用最新的跟我这个对比下就不知道了吗
[e]
.版本 2
.子程序 文本_取中间_批量, 整数型, 公开, 比如:欲取全文本为<12345>,现在要取出“3”,<3>的前面为“2”,<3>的后面为“4”
.参数 源文本, 文本型, , 比如:欲取全文本为 12345
.参数 前面标识文本, 文本型, , 3的前面为“2”
.参数 后面标识文本, 文本型, , 3的后面为“4”
.参数 存放取出文本的数组, 文本型, 可空 数组, 存放取出文本的数组
.参数 是否区分大小写, 逻辑型, 可空, 是否区分大小写
.参数 文本长度大于此数的不要, 整数型, 可空, 文本长度大于此数的不要;如取出的文本大于50的不要;留空为不限制
.参数 为取出的文本加上前缀, 文本型, 可空, 在取出的文本前面加上一段字符或汉字!可空!
.参数 为取出的文本加上后缀, 文本型, 可空, 在取出的文本后面加上一段字符或汉字!可空!
.参数 连前面标识文本一起取出, 逻辑型, 可空, 是否连<前面标识文本>一起取出? 默认为假,不取出!
.参数 连后面标识文本一起取出, 逻辑型, 可空, 是否连<后面标识文本>一起取出? 默认为假,不取出!
.参数 起始搜寻位置, 整数型, 可空, 注明:位置值从 1 开始。如果本参数被省略,默认为 1 。
.局部变量 局_数组, 文本型, , "0"
.局部变量 局_计次, 整数型, 静态
.局部变量 局_结果, 文本型
.局部变量 局_位置, 整数型
.局部变量 局_位置1, 整数型
' //分割线
.如果真 (局_计次 = 0)
清除数组 (存放取出文本的数组)
.如果真结束
局_计次 = 局_计次 + 1
' //上面这段代码新版本没有,必须加上,否则会重复取出上一次的成员,你们对比下就知道了,很容易理解。
是否区分大小写 = 取反 (是否区分大小写)
局_位置 = 寻找文本 (源文本, 前面标识文本, 起始搜寻位置, 是否区分大小写) + 1
局_位置1 = 寻找文本 (源文本, 后面标识文本, 局_位置 + 取文本长度 (前面标识文本), 是否区分大小写)
.如果真 (局_位置 < 1 或 局_位置1 < 1)
返回 (0)
.如果真结束
局_位置 = 局_位置 + 取文本长度 (前面标识文本) - 1
局_结果 = 删首尾空 (取文本中间 (源文本, 局_位置, 局_位置1 - 局_位置))
.如果真 (局_结果 = “”)
返回 (0)
.如果真结束
.如果真 (文本长度大于此数的不要 ≠ 0 且 取文本长度 (局_结果) > 文本长度大于此数的不要)
返回 (0)
.如果真结束
局_结果 = 为取出的文本加上前缀 + 局_结果
局_结果 = 局_结果 + 为取出的文本加上后缀
.如果真 (连前面标识文本一起取出)
局_结果 = 前面标识文本 + 局_结果
.如果真结束
.如果真 (连后面标识文本一起取出)
局_结果 = 局_结果 + 后面标识文本
.如果真结束
加入成员 (存放取出文本的数组, 局_结果)
文本_取中间_批量 (源文本, 前面标识文本, 后面标识文本, 存放取出文本的数组, 是否区分大小写, 文本长度大于此数的不要, 为取出的文本加上前缀, 为取出的文本加上后缀, 连前面标识文本一起取出, 连后面标识文本一起取出, 局_位置1)
局_计次 = 0
返回 (取数组成员数 (存放取出文本的数组))
[/e] |
|