精易论坛

标题: 批量取文本中间源码 [打印本页]

作者: jingyi11023995    时间: 2016-12-17 00:11
标题: 批量取文本中间源码
在百度找了一下,没找到相关源码。于是自己写了一个,欢迎各路大神测试,如有BUG或者更好的写法,欢迎指正,谢谢。

  
子程序名返回值类型公开备 注
批量取文本中间整数型 
参数名类 型参考可空数组备 注
strings文本型文本内容
leftString文本型开始的文本
rightString文本型结束的文本
Array文本型返回的数组
变量名类 型静态数组备 注
start整数型开始位置
end整数型结束位置
count整数型符合的个数
tempString文本型符合的文本
start = 0
count = 0
清除数组 (Array)
如果真 (strings = “” leftString = “” rightString = “”)  ' 传入的参数为空时,不进行操作
返回 (0)
判断循环首 (寻找文本 (strings, leftString, start, ) ≠ -1)
start = 寻找文本 (strings, leftString, start, )  ' 找开始文本的位置
end = 寻找文本 (strings, rightString, start + 1, )  ' 从加1位置开始找结束文本位置
如果真 (start = -1 end = -1)  ' 开始和结束位置有一个找不到则跳出循环
跳出循环 ()
tempString = 取文本中间 (strings, start + 取文本长度 (leftString), end - start - 取文本长度 (rightString))  ' 取出符合的文本
如果真 (tempString ≠ “”)  ' 如果不为空则加入到数组
加入成员 (Array, tempString)
count = count + 1
start = end  ' 更改开始位置
判断循环尾 ()
返回 (count)



补充内容 (2016-12-18 00:17):
有一句错了,应该是这样的,不好意思:
tempString = 取文本中间 (strings, start + 取文本长度 (leftString), end - start - 取文本长度 (leftString))  ' 取出符合的文本
作者: jingyi11023995    时间: 2016-12-17 00:14
PS,不要说正则,因为很多时候,没必要,而且有些场合下不能用。
作者: jingyi11023995    时间: 2016-12-17 00:26
有一句错了,应该是这样的,不好意思:
tempString = 取文本中间 (strings, start + 取文本长度 (leftString), end - start - 取文本长度 (leftString))  ' 取出符合的文本
作者: 118184017    时间: 2016-12-17 11:22
你没用过精易模块?
作者: 洛阳    时间: 2016-12-17 18:15
支持楼主,谢谢~~
作者: jingyi11023995    时间: 2016-12-17 20:55
118184017 发表于 2016-12-17 11:22
你没用过精易模块?

我一般不用模块,因为用模块会造成程序体积太大呀,我要什么功能,自己能实现的就自己写一个,不是更好?
作者: 我叫落年    时间: 2016-12-17 22:07
感谢分享 楼主好人啊
作者: jingyi11023995    时间: 2016-12-18 00:17
jingyi11023995 发表于 2016-12-17 00:26
有一句错了,应该是这样的,不好意思:
tempString = 取文本中间 (strings, start + 取文本长度 (leftSt ...

找不到编辑的入口。。。
作者: 鱼唾沫    时间: 2016-12-18 09:35
看看,学一下。回帖是一种美德
作者: 339300    时间: 2016-12-18 12:16
每天过来顶一顶
作者: w284539474    时间: 2016-12-19 13:52
新手观摩观摩,问个小白问题,参数没有勾选可空,那是不是调用子程序必须写参数?
作者: jingyi11023995    时间: 2016-12-20 23:38
w284539474 发表于 2016-12-19 13:52
新手观摩观摩,问个小白问题,参数没有勾选可空,那是不是调用子程序必须写参数?

是的,不可空的参数,一定要写。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4