|
地板
发表于 2015-1-4 17:11:12
|
只看该作者
广东省东莞市
这个修改后试试,貌似不吃CPU了。
- .版本 2
- .子程序 文本_取中间_批量2, 整数型, 公开, 比如:欲取全文本为<12345>,现在要取出“3”,<3>的前面为“2”,<3>的后面为“4”
- .参数 源文本, 文本型, , 比如:欲取全文本为 12345
- .参数 前面标识文本, 文本型, , 3的前面为“2”
- .参数 后面标识文本, 文本型, , 3的后面为“4”
- .参数 存放取出文本的数组, 文本型, 可空 数组, 存放取出文本的数组
- .参数 是否区分大小写, 逻辑型, 可空, 是否区分大小写
- .参数 文本长度大于此数的不要, 整数型, 可空, 文本长度大于此数的不要;如取出的文本大于50的不要;留空为不限制
- .参数 为取出的文本加上前缀, 文本型, 可空, 在取出的文本前面加上一段字符或汉字!可空!
- .参数 为取出的文本加上后缀, 文本型, 可空, 在取出的文本后面加上一段字符或汉字!可空!
- .参数 连前面标识文本一起取出, 逻辑型, 可空, 是否连<前面标识文本>一起取出? 默认为假,不取出!
- .参数 连后面标识文本一起取出, 逻辑型, 可空, 是否连<后面标识文本>一起取出? 默认为假,不取出!
- .参数 起始搜寻位置, 整数型, 可空, 注明:位置值从 1 开始。如果本参数被省略,默认为 1 。
- .局部变量 Search, 文本型
- .局部变量 StartPos, 整数型
- .局部变量 EndPos, 整数型
- 清除数组 (存放取出文本的数组)
- StartPos = 起始搜寻位置
- .循环判断首 ()
- StartPos = 寻找文本 (源文本, 前面标识文本, StartPos, 是否区分大小写)
- .如果 (StartPos ≠ -1)
- EndPos = 寻找文本 (源文本, 后面标识文本, StartPos + 取文本长度 (前面标识文本), 是否区分大小写)
- .如果 (EndPos ≠ -1)
- StartPos = StartPos + 取文本长度 (前面标识文本)
- Search = 删首尾空 (取文本中间 (源文本, StartPos, EndPos - StartPos))
- .如果真 (取文本长度 (Search) > 0)
- .如果真 (连前面标识文本一起取出)
- Search = 前面标识文本 + Search
- .如果真结束
- .如果真 (连后面标识文本一起取出)
- Search = Search + 后面标识文本
- .如果真结束
- .如果 (文本长度大于此数的不要 ≠ 0)
- .如果真 (取文本长度 (Search) < 文本长度大于此数的不要)
- 加入成员 (存放取出文本的数组, Search)
- .如果真结束
- .否则
- 加入成员 (存放取出文本的数组, Search)
- .如果结束
- StartPos = EndPos
- .如果真结束
- .否则
- 跳出循环 ()
- .如果结束
- .否则
- 跳出循环 ()
- .如果结束
- 处理事件 ()
- .循环判断尾 (StartPos ≠ -1)
- 返回 (取数组成员数 (存放取出文本的数组))
复制代码 |
|