【发布时间】:2013-05-28 15:06:08
【问题描述】:
我正在尝试查找 mylines() 是否包含值。我可以通过 mylines.Contains 方法获取值:
Dim mylines() As String = IO.File.ReadAllLines(mypath)
If mylines.Contains("food") Then
MsgBox("Value Exist")
End If
但问题是我想检查 mylines() 是否包含以我的值开头的行。我可以通过 mylines(0).StartsWith 方法从一行中获取此值。但是我如何从所有从某个值开始的行中找到一个字符串,例如"mysearch" 然后得到那个行号?
我正在使用for 循环来执行此操作,但速度很慢。
For Each line In mylines
If line.StartsWith("food") Then MsgBox(line)
Next
请限制为 .NET 2.0 的代码。
【问题讨论】:
-
你有多少行是慢的?
-
不在编译器附近,但我相信
mylines.IndexOf(line) + 1会给出包含匹配字符串的行号。 -
暂时是8.7万行,但随着时间的推移会增加。
-
mylines.IndexOf(line) + 1,对不起,我不明白你。有没有活生生的例子?
-
您是否在寻求一种方法来获取以您的搜索字符串开头的所有行?
标签: vb.net string find .net-2.0