求一个去重复文本工具,易语言应该可有做出来。 50
.版本 2
.支持库 commobj
.支持库 spec
.子程序 _按钮1_被单击
.局部变量 数组1, 文本型, , "0"
.局部变量 结果, 文本型
.局部变量 i, 整数型
.局部变量 启动时间, 整数型
.局部变量 test, 快速文本对象
启动时间 = 取启动时间 ()
test.添加 (编辑框1.内容)
数组1 = 分割文本 (编辑框2.内容, “ ”, )
.计次循环首 (取数组成员数 (数组1), i)
.判断开始 (test.寻找文本 (数组1 [i], , 真) = -1)
结果 = 结果 + 数组1 [i] + “ ”
.默认
.判断结束
.计次循环尾 ()
编辑框3.加入文本 (结果)
调试输出 (取启动时间 () - 启动时间)
分割是按空格分割。改成你自己的分割符号。如果是逐字比较的话,就逐字分割
2024-07-20 广告
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 _按钮1_被单击
编辑框2.内容 = 文本_去重复文本 (编辑框1.内容)
.子程序 文本_去重复文本, 文本型, 公开, 去除原文本中重复的文本
.参数 原文本, 文本型
.参数 分割符, 文本型, 可空, 原文本单个内容间的分隔符,例如:--- 留空为:逐字分割
.局部变量 局_数组, 文本型, , "0"
.局部变量 局_数组1, 文本型, , "0"
.局部变量 局_计次, 整数型
.局部变量 局_文本, 文本型
.如果 (是否为空 (分割符))
文本_逐字分割 (原文本, 局_数组)
.否则
局_数组 = 分割文本 (原文本, 分割符, )
.如果结束
.计次循环首 (取数组成员数 (局_数组), 局_计次)
.如果真 (内部_数组成员是否存在_文本 (局_数组1, 局_数组 [局_计次]) = -1)
加入成员 (局_数组1, 局_数组 [局_计次])
局_文本 = 局_文本 + 局_数组 [局_计次] + 分割符
.如果真结束
.计次循环尾 ()
局_文本 = 取文本左边 (局_文本, 取文本长度 (局_文本) - 取文本长度 (分割符))
返回 (局_文本)
.子程序 文本_逐字分割, 整数型, 公开, 将指定文本,逐字分割成数组,保存为指定的变量数组中,返回成员个数,可识别换行符及全半角字符和汉字
.参数 文本, 文本型, , 需要分割的文本
.参数 返回的数组, 文本型, 参考 可空 数组, 保存分割结果的数组变量
.局部变量 c, 整数型
.局部变量 n, 整数型
.局部变量 z, 整数型
.局部变量 返回文本, 文本型
.局部变量 临时字节集, 字节集
清除数组 (返回的数组)
临时字节集 = 到字节集 (文本)
c = 取字节集长度 (临时字节集)
n = 1
.判断循环首 (n ≤ c)
.如果 (n + 1 > c)
z = 1
.否则
.如果 (临时字节集 [n] > 128)
z = 2
.否则
.如果 (临时字节集 [n] ≠ 13)
z = 1
.否则
.如果 (临时字节集 [n + 1] = 10)
z = 2
.否则
z = 1
.如果结束
.如果结束
.如果结束
.如果结束
加入成员 (返回的数组, 到文本 (取字节集中间 (临时字节集, n, z)))
n = n + z
.判断循环尾 ()
返回 (取数组成员数 (返回的数组))
.子程序 内部_数组成员是否存在_文本, 整数型
.参数 数组, 文本型, 数组
.参数 要判断值, 文本型
.局部变量 局_计次, 整数型
.计次循环首 (取数组成员数 (数组), 局_计次)
.如果真 (数组 [局_计次] = 要判断值)
返回 (局_计次)
.如果真结束
.计次循环尾 ()
返回 (-1)
2019-06-12
2019-03-11
有现成的更好。求推荐?
UltraCompare
这个应该能满足你的要求,选两个文本,然后点比较后,选仅差别,就会只留下有差别的,复制就行