51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2095|回复: 9
打印 上一主题 下一主题

[原创] vbs读取文本文件的问题,急

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-6-1 13:36:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我这里有一个文本文件,大概内容和格式如下:
  1. lang=en

  2. ####
  3. a=1

  4. b=2
  5. c=3
复制代码
我想取=号两边的内容,但是文件里有空格行也有其它不相关的行
我用readline似乎无法办到,请大家帮个忙,谢谢了啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

10#
发表于 2011-6-7 13:29:05 | 只看该作者
学习学习学习
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2011-6-2 09:43:42 | 只看该作者
今天看到了,谢谢大家,非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-6-2 09:35:59 | 只看该作者
  1. Function TxtReadLines(txtPath,delimiter)
  2. Dim objDictionary,objFso,objTxtFile
  3. Dim strReadLine,splitReadLine
  4. Dim lineCount
  5. Set objDictionary=CreateObject("Scripting.Dictionary")
  6. Set objFso=CreateObject("Scripting.FileSystemObject")
  7. Set objTxtFile=objFso.OpenTextFile(txtPath,1,true)
  8. Do while not(objTxtFile.AtEndOfStream)
  9. strReadLine=objTxtFile.ReadLine

  10. If instr(strReadLine,delimiter)>0 Then
  11. lineCount=lineCount+1
  12. splitReadLine=split(strReadLine,delimiter)
  13. objDictionary.Add "left"&cstr(lineCount),trim(splitReadLine(0))
  14. objDictionary.Add "right"&cstr(lineCount),trim(splitReadLine(1))
  15. End If
  16. loop
  17. Set objTxtFile=nothing
  18. Set objFso=nothing
  19. Set TxtReadLines=objDictionary
  20. Set objDictionary=nothing
  21. End Function
  22. '传递文件的路径和分隔符,比如你说的等号
  23. Set txtDic=TxtReadLines("d:\text.txt","=")
  24. For i=1 to txtDic.count/2
  25. '等号左边的值
  26. msgbox txtDic.Item("left"&cstr(i))
  27. '等号右边的值
  28. msgbox txtDic.Item("right"&cstr(i))
  29. Next

复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2011-6-2 09:27:57 | 只看该作者
顶~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2011-6-2 00:21:24 | 只看该作者
Function TxtReadLines(txtPath,delimiter)
        Dim objDictionary,objFso,objTxtFile
        Dim strReadLine,splitReadLine
        Dim lineCount
        Set objDictionary=CreateObject("Scripting.Dictionary")
        Set objFso=CreateObject("Scripting.FileSystemObject")
        Set objTxtFile=objFso.OpenTextFile(txtPath,1,true)
        Do while not(objTxtFile.AtEndOfStream)
                strReadLine=objTxtFile.ReadLine
                objTxtFile.SkipLine
                If instr(strReadLine,delimiter)>0 Then
                        lineCount=lineCount+1
                        splitReadLine=split(strReadLine,delimiter)
                        objDictionary.Add "left"&cstr(lineCount),trim(splitReadLine(0))
                        objDictionary.Add "right"&cstr(lineCount),trim(splitReadLine(1))
                End If
        loop
        Set objTxtFile=nothing
        Set objFso=nothing
        Set TxtReadLines=objDictionary
        Set objDictionary=nothing
End Function
'传递文件的路径和分隔符,比如你说的等号
Set txtDic=TxtReadLines("d:\text.txt","=")
For i=1 to txtDic.count/2
'等号左边的值
msgbox txtDic.Item("left"&cstr(i))
'等号右边的值
msgbox txtDic.Item("right"&cstr(i))
Next
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-6-2 00:20:10 | 只看该作者
  1. Function TxtReadLines(txtPath,delimiter)
  2. Dim objDictionary,objFso,objTxtFile
  3. Dim strReadLine,splitReadLine
  4. Dim lineCount
  5. Set objDictionary=CreateObject("Scripting.Dictionary")
  6. Set objFso=CreateObject("Scripting.FileSystemObject")
  7. Set objTxtFile=objFso.OpenTextFile(txtPath,1,true)
  8. Do while not(objTxtFile.AtEndOfStream)
  9. strReadLine=objTxtFile.ReadLine
  10. objTxtFile.SkipLine
  11. If instr(strReadLine,delimiter)>0 Then
  12. lineCount=lineCount+1
  13. splitReadLine=split(strReadLine,delimiter)
  14. objDictionary.Add "left"&cstr(lineCount),trim(splitReadLine(0))
  15. objDictionary.Add "right"&cstr(lineCount),trim(splitReadLine(1))
  16. End If
  17. loop
  18. Set objTxtFile=nothing
  19. Set objFso=nothing
  20. Set TxtReadLines=objDictionary
  21. Set objDictionary=nothing
  22. End Function
  23. '传递文件的路径和分隔符,比如你说的等号
  24. Set txtDic=TxtReadLines("d:\text.txt","=")
  25. For i=1 to txtDic.count/2
  26. '等号左边的值
  27. msgbox txtDic.Item("left"&cstr(i))
  28. '等号右边的值
  29. msgbox txtDic.Item("right"&cstr(i))
  30. Next
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-6-2 00:19:39 | 只看该作者
Function TxtReadLines(txtPath,delimiter)
        Dim objDictionary,objFso,objTxtFile
        Dim strReadLine,splitReadLine
        Dim lineCount
        Set objDictionary=CreateObject("Scripting.Dictionary")
        Set objFso=CreateObject("Scripting.FileSystemObject")
        Set objTxtFile=objFso.OpenTextFile(txtPath,1,true)
        Do while not(objTxtFile.AtEndOfStream)
                strReadLine=objTxtFile.ReadLine
                objTxtFile.SkipLine
                If instr(strReadLine,delimiter)>0 Then
                        lineCount=lineCount+1
                        splitReadLine=split(strReadLine,delimiter)
                        objDictionary.Add "left"&cstr(lineCount),trim(splitReadLine(0))
                        objDictionary.Add "right"&cstr(lineCount),trim(splitReadLine(1))
                End If
        loop
        Set objTxtFile=nothing
        Set objFso=nothing
        Set TxtReadLines=objDictionary
        Set objDictionary=nothing
End Function
'传递文件的路径和分隔符,比如你说的等号
Set txtDic=TxtReadLines("d:\text.txt","=")
For i=1 to txtDic.count/2
'等号左边的值
msgbox txtDic.Item("left"&cstr(i))
'等号右边的值
msgbox txtDic.Item("right"&cstr(i))
Next
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-6-2 00:19:22 | 只看该作者
  1. Function TxtReadLines(txtPath,delimiter)
  2. Dim objDictionary,objFso,objTxtFile
  3. Dim strReadLine,splitReadLine
  4. Dim lineCount
  5. Set objDictionary=CreateObject("Scripting.Dictionary")
  6. Set objFso=CreateObject("Scripting.FileSystemObject")
  7. Set objTxtFile=objFso.OpenTextFile(txtPath,1,true)
  8. Do while not(objTxtFile.AtEndOfStream)
  9. strReadLine=objTxtFile.ReadLine
  10. objTxtFile.SkipLine
  11. If instr(strReadLine,delimiter)>0 Then
  12. lineCount=lineCount+1
  13. splitReadLine=split(strReadLine,delimiter)
  14. objDictionary.Add "left"&cstr(lineCount),trim(splitReadLine(0))
  15. objDictionary.Add "right"&cstr(lineCount),trim(splitReadLine(1))
  16. End If
  17. loop
  18. Set objTxtFile=nothing
  19. Set objFso=nothing
  20. Set TxtReadLines=objDictionary
  21. Set objDictionary=nothing
  22. End Function
  23. '传递文件的路径和分隔符,比如你说的等号
  24. Set txtDic=TxtReadLines("d:\text.txt","=")
  25. For i=1 to txtDic.count/2
  26. '等号左边的值
  27. msgbox txtDic.Item("left"&cstr(i))
  28. '等号右边的值
  29. msgbox txtDic.Item("right"&cstr(i))
  30. Next
复制代码
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2011-6-1 18:15:00 | 只看该作者


    1. '*************************Rfile()**************************
    2. ' 功能概述:读文件内容
    3. ' 传入参数:1>FPath文件路径
    4. '                   2>intVal值为0取等号左边,1取等号右边
    5. ' 返 回 值:返回数组
    6. ' 调用举例:1>tmpAry = Rfile("c:\test.txt",0)
    7. '                   2>tmpAry = Rfile("c:\test.txt",1)
    8. '***********************************************************
    9. Public Function Rfile(FPath,intVal)

    10.         Set fso = CreateObject("Scripting.FileSystemObject")
    11.         
    12.         If fso.FileExists(FPath) Then

    13.                 Set fopen = fso.OpenTextFile(Fpath,1)
    14.         
    15.                 While Not fopen.AtEndOfStream
    16.                
    17.                         RC = fopen.ReadLine
    18.                         
    19.                         If Left(RC,1) <> "" Then
    20.                         
    21.                                 tmparry = Split(RC,"=",-1,1)
    22.                         
    23.                                 ReDim Preserve tmpAry1(i)
    24.                                 
    25.                                 tmpAry1(i) = tmparry(CInt(intVal))
    26.                                 
    27.                                 i = i + 1
    28.                         
    29.                         End if
    30.                
    31.                 Wend
    32.                
    33.                 fopen.Close
    34.                
    35.         End If
    36.         
    37.         Rfile = tmpAry1

    38.         Set fso = nothing


    39. End Function

    复制代码


    要下班了就没有进行测试...........
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-20 04:25 , Processed in 0.067797 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表