vbs解决处理TXT文本数据相关问题实现代码
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
有个小问题,如下: 现有文本文件1.txt,内容如下: 数值_1出现频度12647 数值_2出现频度10000 数值_3出现频度12608 数值_4出现频度8712 数值_5出现频度10658 数值_6出现频度8472 数值_7出现频度11232 数值_8出现频度8648 数值_9出现频度9264 数值_10出现频度7192 数值_11出现频度7192 。。。。 大概有100行 要求把里面每行的数值放到变量中,然后输出成文本文件 2.txt 举例: 把第一行的12674,放到变量a1中 把第二行的10000,放到变量a2中 把第三行的12608,放到变量a2中 ….直到最后一行 最后输出成“2.txt” 文本文件的内容为: a1 = 12647 a2 = 10000 a3 = 12608 a4 = 8712 …. a11 = 7192 希望能能够找到相关代码,并且是能在windows下运行的!!找呀找呀找呀。。 实现代码如下: VB code: 复制代码 代码如下: set fso = createobject("scripting.filesystemobject") set file=fso.opentextfile("1.txt") ts = file.readall file.close set fil = fso.createtextfile("2.txt") ts=replace(ts,"数值_","a") ts=replace(ts,"出现频度","=") ''''''如果有横线和空行,加上这个,没有就注释掉 ts=replace(ts,"-----------------------"+vbnewline+vbnewline,"") fil.write ts fil.close MsgBox "处理完成"上面的代码是把1.txt直接改成了2.txt,中间变量a1~a100省去了,如果还需要中间变量做其它用途的话,可以读取2.txt内容并赋值,代码如下: VBScript code: set fso = createobject("scripting.filesystemobject") set ts = fso.opentextfile("2.txt") i=0 do while ts.AtEndOfStream=false str = ts.ReadLine execute str ''执行赋值 i=i+1 execute("value=a" & i)''获取变量 a1…… 的值 Response.Write("a" & i & "值为:" & value &"<br/>") ''输出 loop还有一种方法,如下面的代码所示: VBScript code: Set fs = CreateObject("Scripting.FileSystemObject") Set txt1 = fs.OpenTextFile("1.txt", 1) Set txt2 = fs.CreateTextFile("C:\FSO\ScriptLog.txt") Do Until txt1.AtEndOfStream str_a = txt1.ReadLine str_a = replace(str_a, "度","$") str_ar = split(str_a, "$") if isnumeric(str_ar(ubound(str_a))) then txt2.writeline str_ar(ubound(str_a)) end if Loop txt1.close txt2.close set txt1 = nothing set txt2 = nothing set fs = nothing |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于vbs解决处理TXT文本数据相关问题实现代码的所有评论