сравнить строку строка за строкой - PullRequest
0 голосов
/ 16 июня 2011

Кто-нибудь здесь может помочь мне с этим

Входной файл

  Type Reference      
   WIN  00001  
   WIN  00001   
   WIN  00001  
   MAC  00001  
   MAC  00001  

В основном мне нужно сравнить, если первые 3 символа не равны

предпочтительный результат будет

Тип Ссылка

   WIN  00001  
   WIN  00001   
   WIN  00001  

код ниже

Dim fh As StreamReader
Dim os as string
fh = new StreamReader("haggis.txt")
Dim s As String = fh.ReadLine()
While not s Is Nothing
   os = s.Substring(0,3) 
   if os <> os then
      Console.WriteLine("Write here")
   else

   end if    

   s = fh.ReadLine
End While
fh.Close()
End Sub

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Объявите предыдущую переменную OS и сравните ее с ней.

Например,

Dim fh As StreamReader
Dim previousOS as string REM to see what previous os was
Dim os as string
fh = new StreamReader("haggis.txt")
Dim s As String = fh.ReadLine()
While not s Is Nothing
  previousOS = os 
  REM save the old os in this variable before assigning it to a new variable
  os = s.Substring(0,3) 
REM check if the new os is equal to the previousOS string (null check if it the first time read
if previousOS <> Nothing AndAlso previousOS <> os then
   Console.WriteLine("Write here")
else

end if    

s = fh.ReadLine
End While
fh.Close()
End Sub
0 голосов
/ 16 июня 2011

@ И все же еще один выродок, вы близки. Если вы не хотите просто закрыть программу, вы можете закрыть поток и затем добавить вызов Exit Sub в оператор else. Это вернет вас к тому, что называется подпрограммой, и продолжит обработку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...