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 では、文字列 " Banana "を含むテキスト行全体を取得し、それをテキスト ボックスに出力して、そのテキスト ボックスに表示したいと考えています。

My Favourite Fruit: Lemon, Apple, Banana

なぜ私はこれをしているのですか?テキストファイルが追加されており、行番号がランダムであるためです。テキストは Visual Basic によって生成されるため、内容もランダムです。テキスト「Banana」は、1 行目、2 行目、または任意の行にある可能性があるため、特定の文字列を含むテキスト行全体を取得するにはどうすればよいですか?

前もって感謝します!

4

2 に答える 2

6

これは、LINQ を使用して 1 行で簡単に実行できます。

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 に答える