0

如何检查某个文本文件是否包含某个字符串?我是否必须实际打开文件并使用 InStr(),或者有更方便的方法吗?

顺便说一句,语言是 Visual Basic 6.0

4

1 回答 1

0

你不能不打开文件,但有一个替代方案(也涉及文件打开)你可以使用 Shell,如下所示:

<filename> is the name of the file
<string> is the string you want to check

(假设您要检查的文件在当前目录中)

    Shell("find /c "+chr(34)+"<string>"+chr(34)+" <filename>  > test.txt")

    Open "test.txt" for input as #1
        input #1, A
    Close #1

    If (Right(A,3)=": 0") Then 
            Msgbox "Does not exist"
    Else
            Msgbox "String exists"
    End if

虽然这也涉及打开文件,但它会比使用 InStr() 函数搜索字符串快得多(如果文件很大),因为它现在检查一个常量字符串。此外,您可以稍微更改一下 shell 命令以同时搜索多个文件中的文本(使用通配符),这肯定比使用循环打开所有这些文件并使用另一个循环读取要快得多所有行并在每行上使用 InStr() 。

于 2013-04-03T18:26:23.120 回答