2017-09-03 101 views
0

幫助!! 我已經設置這個任務,但我真的不確定如何做到這一點:只在文本文件中包含'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 Until循環裏面,但是這意味着它會打印第一行包含「the」而不是第三行也包含「the」,因爲第二行沒有。 這裏是(非常糟糕的代碼),至今已讓我失望:

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

將'line = fileHolder.ReadLine()'移動到'End If'下面。 –

回答

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() 
相關問題