Nerozumím dost dobře Vaší potřebě. Pokud píšete, že chcete v textovém souboru smazat 2 řádky textu, vyplývá z toho, že ten soubor potřebujete změnit (a tak to pochopil i Tomáš, když Vám radil). Řešením té jeho rady by mohl být kód např.:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' cesta k souboru
Dim soubor As String = "d:\test\text.txt"
' použité kódování (je třeba upravit dle skutečnosti, hlavně pokud autorem prohledávaného textu nejste sám)
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("windows-1250")
' otevřeme streamreader nasměrovaný na Váš soubor
Dim str As New IO.StreamReader(soubor, enc)
' načteme obsah souboru a zavřeme str
Dim obsah As String = str.ReadToEnd()
str.Close()
'přesné znění textu, který chcete nahradit
' pokud se jedná o více řádků, musíte mezi ně vložit ukončení řádku "vbCrLf
Dim txt As String = "babička" & vbCrLf & "prodávala"
'změníme načtený text
obsah = obsah.Replace(txt, "")
' uložíme do stejného souboru (s přepsáním)
Dim stw As New IO.StreamWriter(soubor, False, enc)
stw.Write(obsah)
stw.Close()
End Sub
Pokud ale nemůžete "přepsat soubor" (asi leží někde mimo Vaši pravomoc), jak jej tedy chcete změnit? Pokud pouze potřebujete pracovat se změněným textem souboru, tak z předloženého kódu vypusťte ten závěrečný odstavec (ohledně ukládání), a změněný obsah souboru máte k dispozici v proměnné obsah a můžete s ním libovolně pracovat. Nebo v tom posledním odstavci můžete při ukládání použít jiný název či umístění souboru a můžete si tu upravenou verzi uložit tam, kde k tomu máte práva.
|