在一个文本文件(.txt)里面有很多字符串,每个字符串占一行,怎样判断一个字符串是否在这个文本文件里面呢?最好提供vb代码。不是很难可我没用过vb阿,哈哈。

解决方案 »

  1.   

    将文件的所有数据读区到String中,再用InStr搜索
    最好方法:使用内存映射文件,将文件映射到内存,直接在内存中查找
      

  2.   

    dim s as stringOpen "c:\aa.txt" For Input As #1
    s = StrConv(InputB(LOF(1), #1), vbUnicode) '½«ÎļþÄÚÈݸ½¸ø±äÁ¿ S
    Close #1if instr(s,"你的字符串")<>0 then
        msgbox "这个字符串存在"
    else
        msgbox "这个字符串不存在"
    end if
      

  3.   

    Private Sub Command1_Click()
    dim s as stringOpen "c:\aa.txt" For Input As #1
    s = StrConv(InputB(LOF(1), #1), vbUnicode)
    Close #1if instr(s,"你的字符串")<>0 then
        msgbox "这个字符串存在"
    else
        msgbox "这个字符串不存在"
    end if
    end sub
      

  4.   

    Private Sub Command1_Click()
        If InStr(ReadFile("xxx.txt"), "要找的字符串") Then MsgBox "找到"
    End Sub'读文本文件的函数
    Function ReadFile(TXTFile As String) As String
        Dim fn As Integer: fn = FreeFile
        Open TXTFile For Binary Access Read As #fn
            ReadFile = Space(FileLen(TXTFile))
            Get #fn, , ReadFile
        Close #fn
    End Function
      

  5.   

    tztz520(午夜逛街) :
     
    如果我還要打開其它的文本文件,是不是只要把那個#1改成#2,LOF(1)改成LOF(2) ?是這樣嗎?
      

  6.   

    是呀.
    不过也可以这样:Dim Filenumber As LongFilenumber = FreeFile'这时就会自动分配一个空的文件号给你了
    Open "c:\aa.txt" For Input As Filenumber
    s = StrConv(InputB(LOF(Filenumber), Filenumber), vbUnicode)
    Close Filenumber
      

  7.   

    tztz520(午夜逛街)兄: 能不能加我的QQ 56530843,有什么小问题我想问问你。谢谢。