Hola, estoy usando Visual Basic 2008 Express Edition, mi objetivo es leer un archivo .txt completo que funciona como plantilla y reemplazar todas las ocurrencias de una palabra con una nueva y guarde este nuevo texto modificado en un nuevo .txt cuando presione un botón de comando. ¿Puede alguien darme algunos consejos?Buscar y reemplazar texto en un documento txt con Visual Basic
Respuesta
Dim fileReader As String = My.Computer.FileSystem.ReadAllText("C:\test.txt").Replace("foo", "bar")
My.Computer.FileSystem.WriteAllText("C:\test2.txt", fileReader, False)
lo que debe utilizar el método ReadAllText del sistema de archivos, pase la ruta como parámetro y utilizar el método replace para reemplazar lo que se desea reemplazar . Para usos más avanzados de reemplazo puede usar expresiones regulares. Puede leer acerca de eso here.
versión más corta:
My.Computer.FileSystem.WriteAllText("C:\test2.txt", My.Computer.FileSystem.ReadAllText("C:\test.txt").Replace("foo", "bar"), False)
El siguiente ejemplo muestra espero que ayude
Dim lOpenFile As Long
Dim sFileText As String
Dim sFileName As String
sFileName = "C:\test.txt"
'open the file and read it into a variable
lOpenFile = FreeFile
Open sFileName For Input As lOpenFile
sFileText = Input(LOF(lOpenFile), lOpenFile)
Close lOpenFile
'change 'John Doe' to 'Mary Brown'
sFileText = Replace(sFileText, " John Doe ", " Mary Brown ")
'write it back to the file
lOpenFile = FreeFile
Open sFileName For Output As lOpenFile
Print #lOpenFile, sFileText
Close lOpenFile
Gracias malos tratar este error –
'Open' no se ha declarado. La funcionalidad de E/S de archivos está disponible en el espacio de nombres 'Microsoft.VisualBasic'. \t C: \ Users \ EMACFEL \ AppData \ Local \ Proyectos temporales \ WindowsApplication1 \ Form1.vb WindowsApplication1 –
¿Estoy haciendo algo mal? –
me sacó esto de un programa que estaba haciendo, simplemente cortar el rollo que no es necesario.
Private Sub UPDATECODES_Click(sender As Object, e As EventArgs) Handles UPDATECODES.Click
Dim NEWCODE As String = NEWCODEBOX.Text
Dim CC As String = CURRENTCODE.Text
Dim oldcode As String
Dim codelines(0 To 1) As String
Dim olddate As String
Using r1 As New System.IO.StreamReader(CODEDIR & "d.dat")
olddate = r1.ReadToEnd
End Using
Using r2 As New System.IO.StreamReader(CODEDIR & "oc.dat")
oldcode = r2.ReadToEnd
End Using
If System.IO.File.Exists(CODEDIR & "new code.txt") Then
System.IO.File.Delete(CODEDIR & "new code.txt")
End If
If System.IO.File.Exists(CODEDIR & "CC.DAT") Then
If IO.File.Exists(CODEDIR & "oc.dat") Then
IO.File.Delete(CODEDIR & "OC.DAT")
End If
My.Computer.FileSystem.RenameFile(CODEDIR & "CC.DAT", "OC.DAT")
Dim FILESTREAM As System.IO.FileStream
FILESTREAM = New System.IO.FileStream(CODEDIR & "CC.DAT", System.IO.FileMode.Create)
FILESTREAM.Close()
End If
Using WRITER As New System.IO.StreamWriter(CODEDIR & "CC.DAT")
WRITER.WriteLine(NEWCODE)
End Using
Dim currentlines(0 To 1) As String
Dim a As Integer
Dim TextLine(0 To 1) As String
a = 0
Using sr As New System.IO.StreamReader(CODEDIR & "internet code.txt")
While Not sr.EndOfStream
ReDim codelines(0 To a)
codelines(a) = sr.ReadLine()
codelines(a) = codelines(a).Replace(CURRENTCODE.Text, NEWCODE)
codelines(a) = codelines(a).Replace(olddate, DATEBOX1.Text & " - " & DATEBOX2.Text)
Dim newfile As String = (CODEDIR & "new code.txt")
Using sw As New System.IO.StreamWriter(newfile, True)
sw.WriteLine(codelines(a))
End Using
a = a + 1
End While
End Using
Using sw2 As New System.IO.StreamWriter(CODEDIR & "d.dat")
sw2.WriteLine(date1 & " - " & date2)
End Using
System.IO.File.Delete(CODEDIR & "internet code.txt")
My.Computer.FileSystem.RenameFile(CODEDIR & "new code.txt", "internet code.txt")
CURRENTCODE.Text = NEWCODE
End Sub
Tengo un pequeño programa que escribí que uso para reutilizar el código. Lo uso cuando necesito crear una clase, o un archivo de código, que es casi idéntico a uno existente. Es un programa de formulario básico con cuatro cuadros de texto y un botón que usa el mismo comando que la respuesta aceptada, excepto que las cadenas no están codificadas.
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim source As String = txtSource.Text
Dim destination As String = txtDestination.Text
Dim oldText As String = txtOldText.Text
Dim newText As String = txtNewText.Text
My.Computer.FileSystem.WriteAllText(destination, My.Computer.FileSystem.ReadAllText(source).Replace(oldText, newText), False)
End Sub
- 1. Buscar y reemplazar cadenas en mi texto con VBScript
- 2. Jquery: buscar y reemplazar texto
- 3. ¿Cómo buscar y reemplazar en odt Abrir documento de Office?
- 4. Visual Studio, Buscar y reemplazar, expresiones regulares
- 5. buscar y reemplazar cadena en un archivo
- 6. Buscar y reemplazar con expresiones regulares y el texto sublime
- 7. visual basic y vb.net
- 8. Restablecer cuadros de diálogo Buscar y reemplazar al documento actual en Visual Studio
- 9. Buscar y reemplazar en un archivo grande
- 10. Buscar y reemplazar con JavaScript
- 11. Buscar y reemplazar con un comodín en Xcode 4
- 12. buscar y reemplazar con ruby regex
- 13. Visual Studio 2008 buscar y reemplazar expresiones regulares
- 14. Buscar y reemplazar jQuery
- 15. Buscar y reemplazar en HTML con BeautifulSoup
- 16. Buscar texto específico en múltiples archivos TXT en PHP
- 17. Nueva caja Buscar y reemplazar
- 18. Buscar un documento con ObjectID en mongoDB
- 19. Buscar y reemplazar palabras/líneas en un archivo
- 20. Vim Buscar y reemplazar Eficiencia
- 21. Linux buscar y reemplazar
- 22. Xcode 3.2 buscar y reemplazar en el texto seleccionado
- 23. ¿Casting en Visual Basic?
- 24. Buscar y reemplazar expresiones regulares en línea
- 25. Visual Studio Buscar y reemplazar expresiones regulares ayudan a
- 26. Aptana: buscar y reemplazar pestañas (con espacios)
- 27. Cómo usar un mutex en Visual Basic
- 28. SED buscar y reemplazar con llaves
- 29. jquery buscar y reemplazar texto, sin elemento id
- 30. Cómo usar Visual Studio Buscar y reemplazar para convertir mayúsculas y minúsculas en minúsculas con Regex
Thaks intente esto –
Gracias copie pegué su código en el botón de comando haga clic en evento y cuando construyo el programa, cuando hago clic en el botón no hay reemplazo hecho en el archivo de texto que aún llena con foo. –
Ya veo. The String fileReader contiene el texto correcto ¿no? Tu problema es que el archivo no se actualiza. Mi código fue hecho solo para leer el texto, la escritura aún no estaba hecha, pero actualizaré mi código pronto. –