『壹』 易语言文本去掉重复的,留下一个重复的
.版本 2
.子程序 _判断重复_被单击
.局部变量 要处理的文本, 文本型
.局部变量 数组, 文本型, , "0"
.局部变量 输出文本, 文本型
.局部变量 i, 整数型
.局部变量 重复的文本, 文本型
要处理的文本 = 到文本 (读入文件 (“F:新建文件夹总.txt”)) ' 改成你自己要处理的文本
数组 = 分割文本 (要处理的文本, #换行符, )
.计次循环首 (取数组成员数 (数组), i)
.如果真 (数组 [i] ≠ “”)
.如果 (寻找文本 (要处理的文本, 数组 [i], , 真) = -1) ' 也就是没有重复,这个是理想情况。
输出文本 = 输出文本 + 数组 [i] + #换行符 ' 所以直接输出
.否则
.如果真 (寻找文本 (重复的文本, 数组 [i], , 真) = -1) ' 如果存在多个同样的文本,先判断,然后加入“重复的文本”里面。。如果在里面没有重复就算不重复了(这么写是因为,重复的第一种文本之前没有项目和它重复)
输出文本 = 输出文本 + 数组 [i] + #换行符
.如果真结束
重复的文本 = 重复的文本 + 数组 [i] + #换行符
.如果结束
.如果真结束
.计次循环尾 ()
写到文件 (“F:系统桌面输出文件.txt”, 到字节集 (输出文本)) ' 然后输出
『贰』 怎么去除相同文本的内容 易语言
.版本 2
原分割文本 = 分割文本 (编辑框1.内容, #换行符, )
新文本 = “”
.计次循环首 (取数组成员数 (原分割文本), i)
输出调试文本 (原分割文本 [i])
.如果真 (寻找文本 (新文本, 原分割文本 [i], , 真) = -1)
新文本 = 新文本 + 原分割文本 [i] + #换行符
.如果真结束
.计次循环尾 ()
编辑框1.内容 = 新文本
『叁』 求一个去重复文本工具,易语言应该可有做出来。
.版本2
.支持库commobj
.支持库spec
.子程序_按钮1_被单击
.局部变量数组1,文本型,,"0"
.局部变量结果,文本型
.局部变量i,整数型
.局部变量启动时间,整数型
.局部变量test,快速文本对象
启动时间=取启动时间()
test.添加(编辑框1.内容)
数组1=分割文本(编辑框2.内容,“”,)
.计次循环首(取数组成员数(数组1),i)
.判断开始(test.寻找文本(数组1[i],,真)=-1)
结果=结果+数组1[i]+“”
.默认
.判断结束
.计次循环尾()
编辑框3.加入文本(结果)
调试输出(取启动时间()-启动时间)
分割是按空格分割。改成你自己的分割符号。如果是逐字比较的话,就逐字分割
『肆』 求一个易语言清除文本重复内容的源码。
.版本2
.子程序__启动窗口_创建完毕
.局部变量文本,文本型
.局部变量文本组,文本型,,"0"
.局部变量数1,整数型
.局部变量数2,整数型
文本=到文本(读入文件(取运行目录()+“文本.txt”))
文本组=分割文本(文本,“,”,)
文本=“”
.如果真(取数组成员数(文本组)=0)
信息框(“在运行目录下没有”+#引号+“文本.txt”+#引号+“文件!”,0,)
结束()
.如果真结束
.计次循环首(取数组成员数(文本组),数1)
.如果真(文本组[数1]=“”)
到循环尾()
.如果真结束
.变量循环首(数1+1,取数组成员数(文本组),1,数2)
.如果真(文本组[数1]=文本组[数2])
文本组[数2]=“”
.如果真结束
.变量循环尾()
文本=文本+文本组[数1]+“,”
.计次循环尾()
写到文件(取运行目录()+“文本.txt”,到字节集(文本))
『伍』 易语言怎么取重复文本
实现一个队列CQueue
CQueue提供两个公有成员函数
addTail():往队列尾部增加一个元素
removeHead():读出并移除队列的第一个元素
生产者:两个线程通过调用CQueue::addTail()往队列中增加元素
消费者:一个线程通过调用CQueue::removeHead()从队列中读取元素
#include<iostream>
#include<list>
#include<windows.h>
#include<process.h>
usingnamespacestd;
#defineP(sem)WaitForSingleObject(sem,INFINITE)
#defineV(sem)ReleaseSemaphore(sem,1,NULL)
classCQueue
{
public:
voidaddTail();//往队列尾部增加一个元素
voidremoveHead();//读出并移除队列的第一个元素
private:
list<int>L;
};
CQueuebuffer;//全局的缓冲区
constintbuf_size=10;//缓冲区大小
staticintGOODS_ID=0;//商品序号
constintprocers=3;//生产者数量
constintconsumers=8;//消费者数量
voidProcerThread(void*param);
voidConsumerThread(void*param);
HANDLEempty,occupy,op_mutex;
intmain()
{
inti;
intp_id[procers],c_id[consumers];
occupy=CreateSemaphore(NULL,0,buf_size,NULL);//占用位置
empty=CreateSemaphore(NULL,buf_size,buf_size,NULL);//空余位置
op_mutex=CreateSemaphore(NULL,1,1,NULL);//操作互斥量
for(i=0;i<procers;++i)
{
p_id[i]=i+1;
_beginthread(ProcerThread,0,p_id+i);
}
for(i=0;i<consumers;++i)
{
c_id[i]=i+1;
_beginthread(ConsumerThread,0,c_id+i);
}
while(getchar()==' ')break;
return0;
}
voidCQueue::addTail()
{
L.insert(L.end(),++GOODS_ID);
}
voidCQueue::removeHead()
{
cout<<*L.begin()<<endl;
L.erase(L.begin());
}
voidProcerThread(void*param)
{
intid=*(int*)param;
while(1)
{
P(empty);
P(op_mutex);
Sleep(100);
buffer.addTail();
printf("Procer_%dproced%d ",id,GOODS_ID);
V(op_mutex);
V(occupy);
}
}
voidConsumerThread(void*param)
{
intid=*(int*)param;
while(1)
{
P(occupy);
P(op_mutex);
Sleep(100);
printf("Consumer_%dconsumed",id);
buffer.removeHead();
V(op_mutex);
V(empty);
}
}
『陆』 易语言 去重复文本
『柒』 易语言去重复文本
思路在此 根据需要自行修改
『捌』 易语言 去除编辑框内重复的文本
.版本 2
.子程序 _按钮1_被单击
.局部变量 成员, 文本型, , "0"
.局部变量 文本位置, 整数型
.局部变量 计次, 整数型
.如果真 (编辑框1.内容 ≠ “”)
成员 = 分割文本 (编辑框1.内容, “ ”, )
.计次循环首 (取数组成员数 (成员), 计次)
文本位置 = 寻找文本 (编辑框2.内容, 成员 [计次], , 假)
.如果真 (文本位置 = -1)
到循环尾 ()
.如果真结束
编辑框2.内容 = 文本替换 (编辑框2.内容, 文本位置, 3, )
.计次循环尾 ()
.如果真结束
『玖』 易语言去除编辑框重复内容
我不会你说的那种方法,但是我想在输出这组数的时候做些手脚,这样你想去除的数就不会显示出来,效果是一样的吖
『拾』 易语言去重复。两个或多个重复的只留一个,写成源码,或者直接发到这上面来,
.版本 2
.子程序 _按钮1_被单击
.局部变量 数组, 文本型, , "0"
.局部变量 计次, 整数型
.局部变量 计数, 整数型
编辑框2.内容 = “”
数组 = 分割文本 (编辑框1.内容, “,”, )
.计次循环首 (取数组成员数 (数组), 计次)
.如果真 (数组 [计次] = “-1”)
到循环尾 ()
.如果真结束
.变量循环首 (计次 + 1, 取数组成员数 (数组), 1, 计数)
.如果真 (数组 [计次] = 数组 [计数])
数组 [计数] = “-1”
.如果真结束
.变量循环尾 ()
编辑框2.加入文本 (数组 [计次], “,”)
.计次循环尾 ()