2013-07-04 126 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 

任何幫助表示讚賞。

編輯

與史蒂夫的幫助下,我現在已完成了這一工作:

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

這偉大工程,只是不得不做出一些修改,但如果我的文件有一組以上的字符串我需要?就像在文件後面有另一個叫做「file」的單詞那麼它之後有一個不同的字符串? –

+1

[IndexOfAny](http://msdn.microsoft.com/zh-cn/library/56y4ddbk.aspx)有一個重載,它以起點執行搜索。因此,如果你有一個循環,並且在每個循環中使用'pos + 39'變量的值作爲下一次調用IndexOfAny的起始點,那麼你可以找到每個出現的文本塊。 (39 =文件的4個字符+ 1個空格+找到的字符串的34個字符) – Steve