2013-05-21 46 views
-1

我有一個由不同標記組成的文本文件。我能找出一個特定的標籤使用下列文件中存在...在特定標記後面插入文本

Public Class Form1 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim text As String = IO.File.ReadAllText("C:\Example.xtp") 
    Dim index As Integer = text.IndexOf("<Tools>") 
    If index >= 0 Then 
     ' String is in file, starting at character "<Tools>" insert text "TEST_HELLO" 

    End If 
End Sub 
End Class 

但是我想這個標籤後還需要輸入額外的文本,當/如果發現

我使用VB .NET

+0

我不知道你的文本格式,但也許你可以使用XML。 – Nianios

+0

它的基於xml的,雖然我會在這種情況下使用xml來解決這個問題嗎? –

+0

谷歌它並閱讀。 Xml將爲您節省時間和代碼。看看我的問題,當我什麼都不知道:http://stackoverflow.com/questions/11581692/how-to-read-xml-elements-in-vb-net – Nianios

回答

0

嘗試:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim text As String = IO.File.ReadAllText("C:\Example.xtp") 
    Dim index As Integer = text.IndexOf("<Tools>") 
    Dim countChars as integer 
    countChars="<Tools>".Length 
    If index >= 0 Then 
     ' String is in file, starting at character "<Tools>" insert text "TEST_HELLO" 
     text = text.Insert(index + countChars, "TEST_HELLO") 
    End If 
End Sub 

編輯 如果你想要寫的最後文本到/殲ile,有很多方法。我只是一個建議,但你需要搜索和閱讀,找到什麼是適合你:

Dim Writer As System.IO.StreamWriter 
Writer = New System.IO.StreamWriter("C:\Textfile.txt") '<-- Where to write to 
Writer.Write(text) 
Writer.Close() 
+0

這一行 - > countChars =字符串(「」).Length給我帶來麻煩你知道爲什麼嗎? –

+0

查看更新的答案。對不起,但我那時沒有Visual Studio。 – Nianios

+0

是啊我剛剛看到你eddit它大聲笑,但我沒有改變的文件內容? –