VB中读取text文件中特定位置的信息

有一个TEXT文件,文件先要提取其中特定的数据,该如何提取?并输出写入到另一个新的TEXT文件中去?求大神指导?解救!!!TEXT文件如下:1480AJ010.31122... 有一个TEXT文件,文件先要提取其中特定的数据,该如何提取?并输出写入到另一个新的TEXT文件中去?求大神指导?解救!!!TEXT文件如下:

1480 AJ01 0.3112 26.436
1481 AJ01 0.3116 26.405
1482 AJ02 1.6686 25.277
1483 AJ02 1.6687 25.266
1484 AJ02 1.1376 63.191
1485 AJ02 1.1372 63.201
1486 AJ03 2.3321 62.425
1487 AJ03 2.3324 62.417
1488 AJ03 1.7681 20.694
1489 AJ03 1.768 20.704
1490 AJ04 1.3917 20.738
1491 AJ04 1.3917 20.74
1492 AJ04 1.6977 20.618
1493 AJ04 1.6976 20.629
1494 AJ05 1.2634 22.497
1495 AJ05 1.2633 22.505
1496 AJ05 2.286 54.279
1497 AJ05 2.2859 54.28
1498 AJ06 0.7745 52.883
需要提取的信息:所有的A01~06,以及所有最后一列的数据。
求大神指导!!!万分感谢
展开
 我来答
mr_shj
2015-06-06 · TA获得超过2682个赞
知道大有可为答主
回答量:1665
采纳率:94%
帮助的人:1421万
展开全部
Private Type rec
    no As Integer
    name As String
    num1 As Single
    num2 As Single
End Type
Private Sub Command1_Click()
    Dim s() As rec
    ReDim s(0) As rec
    total = 0
    fn = FreeFile
    Open "d:\data.txt" For Input As fn
    Do While Not EOF(fn)
        Line Input #fn, stri
        '由于文件中的数据不够规范,有TAB有空格,
        '下面几条语句,把最前面的空格删除,各数据之间只用一个空格分开
        stri = Replace(stri, vbTab, " ")
        Do While InStr(stri, "  ") <> 0
            stri = Replace(stri, "  ", " ")
        Loop
        If Left(stri, 1) = " " Then stri = Mid(stri, 2)
        
        '读出的数据保存到数组s中,记录条数记录在total中
        a = Split(stri, " ")
        total = total + 1
        ReDim Preserve s(total) As rec
        s(total).no = a(0)
        s(total).name = a(1)
        s(total).num1 = a(2)
        s(total).num2 = a(3)
    Loop
    Close fn
    
    fn = FreeFile
    Open "d:\output.txt" For Output As fn
    '看不明白你想要输出什么内容,在此只输出AJ04的信息
    '要输出什么其它信息,请自己从结构数组s中提取
    For i = 1 To total
        If s(i).name = "AJ04" Then
            Print #fn, s(i).no & vbTab & s(i).name & vbTab & s(i).num1 & vbTab & s(i).num2
        End If
    Next i
    Close fn
End Sub
更多追问追答
追问
想要输出 所有的AJ01~06的数据(就是AJ01~06那一列),以及最后一列的数据(每行最后一个空格之后的数据)!请问您还可以多说明一下吗?因为还需要写入到一个新的text文件当中去。
追答
追答的内容不能过多,只给修改了最后一部分的代码及解释

fn = FreeFile
Open "d:\output.txt" For Output As fn '在这一句指明输出文件,你可以改成你需要的文件名
'你要的数据存放在s的name字段和num2字段中,下面代码码输出指定的2个字段
For i = 1 To total
Print #fn, s(i).name & vbTab & s(i).num2
Next i
Close fn
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式