3

我想问一件事。如何在 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 中,我想获取包含字符串“香蕉”的整行文本并将其打印在文本框中,以便显示在该文本框中:

My Favourite Fruit: Lemon, Apple, Banana

我为什么要这样做?因为正在附加文本文件并且行号是随机的。内容也是随机的,因为文本是由 Visual Basic 生成的。文本“Banana”可以在第 1 行、第 2 行,也可以在任何行中,所以我怎样才能获得包含特定字符串的整行文本?

先感谢您!

4

2 回答 2

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
于 2013-02-22T19:04:27.633 回答
2

刚刚检查过(应该先这样做!)。VB.Net 确实有一个 CONTAINS() 方法。所以:

IF line1.Contains("Banana") THEN
   'do something
END IF
于 2013-02-22T19:02:29.740 回答