我想问一件事。如何在Visual Basic 2010中获取包含字符串的整行文本?
让我们说:
MyText.txt文件包含:
Configurations:
Name: Fariz Luqman
Age: 78
My Favourite Fruit: Lemon, Apple, Banana
My IPv4 Address: 10.6.0.5
My Car: Ferrari
在Visual Basic中,我希望获得包含字符串“ Banana ”的整行文本,并将其打印在文本框中,以便它显示在该文本框中:
My Favourite Fruit: Lemon, Apple, Banana
为什么我这样做?因为正在追加文本文件并且行号是随机的。内容也是随机的,因为文本是由Visual Basic生成的。文本“香蕉”可以在第1行,第2行或者可以在任何行中,那么如何获得包含特定字符串的整行文本?
提前谢谢!
答案 0 :(得分:6)
您可以使用LINQ轻松完成所有操作:
TextBox1.Text = File.ReadAllLines("MyText.txt").FirstOrDefault(Function(x) x.Contains("Banana"))
但是,如果文件相当大,那不是特别有效,因为它会在搜索行之前将整个文件读入内存。如果你想让它在找到该行后停止加载文件,可以使用StreamReader
,如下所示:
Using reader As New StreamReader("Test.txt")
While Not reader.EndOfStream
Dim line As String = reader.ReadLine()
If line.Contains("Banana") Then
TextBox1.Text = line
Exit While
End If
End While
End Using
答案 1 :(得分:2)
刚刚检查过(应该先完成!)。 VB.Net确实有一个CONTAINS()方法。所以:
IF line1.Contains("Banana") THEN
'do something
END IF