|
[e]
.版本 2
.子程序 取出文本中的重复内容, 整数型, 公开, 返回值为重复内容数组中的成员个数
.参数 原文本, 文本型
.参数 重复内容数组, 文本型, 数组, 存放重复内容的数组,必须提供数组变量
.局部变量 长度, 整数型
.局部变量 临时, 文本型
.局部变量 重复文本, 文本型
.局部变量 剩余文本长度, 整数型
' ----------------------------初始化开始-------------------------------
原文本 = 到半角 (原文本)
数组清零 (重复内容数组)
剩余文本长度 = 取文本长度 (原文本)
' ----------------------------初始化结束-------------------------------
.循环判断首 ()
重复文本 = 内部_匹配 (原文本)
.如果 (重复文本 ≠ “”)
加入成员 (重复内容数组, 重复文本)
原文本 = 取文本右边 (原文本, 取文本长度 (原文本) - 取文本长度 (重复文本))
剩余文本长度 = 剩余文本长度 - 取文本长度 (重复文本)
.否则
临时 = 取文本左边 (原文本, 1)
.如果 (取代码 (临时, ) < 0)
长度 = 2
.否则
长度 = 1
.如果结束
原文本 = 取文本右边 (原文本, 取文本长度 (原文本) - 长度)
剩余文本长度 = 剩余文本长度 - 长度
.如果结束
.循环判断尾 (剩余文本长度 > 0)
返回 (数组_去重复 (重复内容数组))
.子程序 内部_匹配, 文本型
.参数 原文本, 文本型
.局部变量 待比较文本, 文本型
.局部变量 循环变量, 整数型
.局部变量 临时, 文本型
.局部变量 长度, 整数型
.局部变量 重复文本, 文本型
循环变量 = 取文本长度 (原文本)
待比较文本 = 原文本
重复文本 = “”
.判断循环首 (循环变量 > 0) ' 待比较文本 ≠ “”
临时 = 取文本右边 (待比较文本, 1)
.如果 (取代码 (临时, ) < 0)
长度 = 2 ' 小于0为汉字
.否则
长度 = 1
.如果结束
循环变量 = 循环变量 - 长度
待比较文本 = 取文本左边 (原文本, 循环变量)
.如果真 (待比较文本 = “”)
跳出循环 ()
.如果真结束
.如果真 (寻找文本 (原文本, 待比较文本, 2, 假) ≠ -1)
重复文本 = 待比较文本
跳出循环 ()
.如果真结束
.判断循环尾 () ' 循环变量 > 0
返回 (重复文本)
[/e]
|
|