华域联盟 vbs vbs解决处理TXT文本数据相关问题实现代码

vbs解决处理TXT文本数据相关问题实现代码

有个小问题,如下

现有文本文件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


您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » vbs解决处理TXT文本数据相关问题实现代码

转载请保留出处和原文链接:https://www.cnhackhy.com/16260.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部