2017-09-03 7 views
0

Help !! 私は、このタスクを設定されているが、私はこれを行う方法は本当にわからないよ:テキストファイルに 'the'を含むコンソール行のみで印刷する:Visual Basic

Sub Main() 

    Dim filePath As String = "C:\...\Projects\testing.txt" 
    Dim fileHolder As System.IO.StreamReader 
    Dim line As String 

    fileHolder = My.Computer.FileSystem.OpenTextFileReader(filePath) 
    line = fileHolder.ReadLine() 

    While line <> Nothing 
     Console.WriteLine(line) 
     Console.WriteLine("*****") 
     line = fileHolder.ReadLine() 
    End While 
    Console.ReadKey() 

    End Sub 

『コンソールに「それだけで始まる行を書き込みするように上記のプログラムを編集し、』あなたはそれが役に立つかもしれません。この作業を完了するために文字列処理のレッスンを再訪してください。

Whileループ内でifステートメントを使用するか、Whileループ内でDo Untilループを使用しようとしましたが、これは "the"と "the"を含む第3行ではなく、二番目の行はそうしなかった。 ここでは、これまで私が失敗したことを(本当に悪いコード)である:

Dim filePath As String = "C:\...\Projects\testing.txt" 
    Dim fileHolder As System.IO.StreamReader 
    Dim line As String 

    fileHolder = My.Computer.FileSystem.OpenTextFileReader(filePath) 
    line = fileHolder.ReadLine() 
    Dim the As String = "the" 

    While line <> Nothing 
     If line.ToUpper.Contains(the.ToUpper) Then 
      Console.WriteLine(line) 
      Console.WriteLine("*****") 
      line = fileHolder.ReadLine() 
     End If 
    End While 
    Console.ReadKey() 

は、任意の助けをありがとう!

+1

あなたはこれまでに(コード)しようとしているものを追加する必要があり、かつ正確にそれについて何が動作しませんでした。 – tima

+0

'End If'の下に' line = fileHolder.ReadLine() 'を移動します。 –

答えて

1

はこれを試してみてください:

Dim filePath As String = "C:\...\Projects\testing.txt" 
Dim fileHolder As System.IO.StreamReader 
Dim line As String 

fileHolder = My.Computer.FileSystem.OpenTextFileReader(filePath) 
line = fileHolder.ReadLine() 
Dim the As String = "the" 

While line <> Nothing 
    If line.ToUpper.Contains(the.ToUpper) Then 
     Console.WriteLine(line) 
     Console.WriteLine("*****") 
    End If 

    line = fileHolder.ReadLine() 
End While 
Console.ReadKey() 
関連する問題