2013-07-04 2 views
0

Строка им пытаются найти в 34 символов и его «файл» после словаПоиск файлов для строки после определенного слова

как я могу отобразить 34 символов в одной строке?

Это то, что я до сих пор:

Dim key = "name" 
Dim sr As StreamReader = New StreamReader("C:\file.dat") 
TextBox2.Text = sr.ReadToEnd.IndexOfAny("file", 34).ToString 

Это просто возвращает:

16379 

Любая помощь приветствуется.

EDIT

С помощью Стива, я сейчас получил это работает с этим:

Dim sr As StreamReader = New StreamReader("file.dat") 
    Dim data = sr.ReadToEnd() 
    Dim pos = data.IndexOf("file") 
    If pos >= 0 Then 
     TextBox2.Text = data.Substring(pos, 39).Replace("file""", "") 
    End If 

теперь мне просто нужно, чтобы иметь возможность цикла это и вернуть их в массивы/другие текстовые поля является есть более одного примера этого, я понятия не имею, как это можно сделать?

ответ

1

Сплит код в отдельных шагов, так что это более понятно, что вы должны сделать

dim data = sr.ReadToEnd() 
dim pos = data.IndexOfAny("file") 
if pos >= 0 then 
    TextBox2.Text = data.Substring(pos, 34) 
+0

Это прекрасно работает просто нужно было сделать несколько изменений, но что, если мой файл имел более одного набора строк мне было нужно? Как и другое слово под названием «файл» позже в файле, после чего после него появляется другая строка? –

+1

[IndexOfAny] (http://msdn.microsoft.com/en-us/library/56y4ddbk.aspx) имеет перегрузку, которая принимает отправную точку для выполнения поиска. Таким образом, если у вас есть цикл и в каждом цикле используется значение переменной 'pos + 39' в качестве отправной точки для следующего вызова IndexOfAny, вы можете найти каждое появление текстовых блоков. (39 = 4 символа для файла + 1 пробел + 34 символа найденной строки) – Steve

Смежные вопросы