如何检查某个文本文件是否包含某个字符串? 我是否必须实际打开文件并使用InStr(),或者有更方便的方法吗?
顺便说一句,语言是Visual Basic 6.0
答案 0 :(得分: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()。