2013-05-21 25 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它大声笑,但我没有改变的文件内容? –