请教,如何用asp过滤txt文件中重复的手机号码

qmimi163 2010-07-11 07:19:16
请教,如何用asp过滤txt文件中重复的手机号码

找了一个代码,居然用session,我的号码可是好几万的。

求解




Dim Fso
Dim myFile
Dim strL(100)
Dim i,j,mytxt
i=0
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Set myFile = Fso.OpenTextFile(Server.MapPath("2.txt"),1,True)
While Not myFile.AtEndOfStream
strL(i)=myFile.ReadLine
flg=1
for j=0 to i-1
if strL(j)=strL(i) then
flg=0
exit for
end if
next
if flg=1 then
session(strL(i))=strL(i) & "<br />"
response.write session(strL(i))
end if
i=i+1
Wend
'response.write session(strl(i))'这里不能打印
myFile.Close
Set myFile = Nothing
Set Fso = Nothing
...全文
324 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qmimi163 2010-07-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 snoyc 的回复:]
INSTR replace 函数,用这个吧,如果你非要用TXT的话
[/Quote]

不用到数据库,就用一个asp文件,要求将.txt文件里重复的手机号过滤。如何解决??


说详细点??
  • 打赏
  • 举报
回复
主要是文本太大的话,处理起来都会费点东西(或者是时间,或者是内存,或者是CPU).
不用数据库,其实思路更简单.
首先,你肯定要确定一个存储数据的地方,无论是内存数组,还是文件,或者数据库.这个你决定.
然后整体读文件到一个字串变量A中.
取字串中头一行数据B(从开头截取到头一个回车之前的内容),存入你要存储的地方.
回头,再用刚才取出来的这个号码B,对整体串A进行替换REPLACE(A,B+vbnewline,""),这样就清除了所有与之相同的号码.
就这样用循环,每取一个就顺手消除了与之重复的,最后剩的都是不同的.直到取完最后一个号码.
lbcleo 2010-07-13
  • 打赏
  • 举报
回复
不用数据库,这个还真不会,帮你顶一下
quickboy19821982 2010-07-13
  • 打赏
  • 举报
回复
9楼的思路可以实现
SNOYC 2010-07-13
  • 打赏
  • 举报
回复
就是将整个数据作为一个string类型,定义两个变量string1,string2
string1 为原来数据,string2为没有重复的数据
首先用split从string1获取第一个号码,然后存到string2中,接着从string1中删除第一个
然后还是获取第一个,不过这个时候要用INSTR比较下 string2里有没有这个号码
如果有就不要向string2中插入,没有就插入
如此循环下去就可以了

意思可能比较复杂,写成语句应该没有那么复杂!

gingerkang 2010-07-13
  • 打赏
  • 举报
回复

<%
dim t,ti,i,r
t=CreateObject("Scripting.FileSystemObject").OpenTextFile(server.mappath("2.txt")).readall
ti=split(t,vbcrlf)
with createobject("scripting.dictionary")
for i=0 to ubound(ti)
if not .exists(ti(i)) then
.add ti(i),ti(i)
end if
next
r=join(.items,vbcrlf)
end with
response.write r%>
SNOYC 2010-07-11
  • 打赏
  • 举报
回复
INSTR replace 函数,用这个吧,如果你非要用TXT的话
yangtututu 2010-07-11
  • 打赏
  • 举报
回复
好几万的 数据最好用数据库, 用TXT 太费 内存资源,每次读写 都要写内存
  • 打赏
  • 举报
回复
或者,同样建个表,将“号码”这个字段设为唯一性索引,不允许重复数据。
然后照旧INSERT,捕捉并掐灭错误。
这样,也只有不重复的数据入表。
  • 打赏
  • 举报
回复
建个表,ID(自动编号),号码
把文件打开,每个号码都直接INSERT到表里,INSERT INTO 表名(号码) values('号码')
然后,select distinct 号码 from 表名

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧