嗨,我正在使用Visual Basic 2008速成版,我的目標是讀取一個完整的.txt文件作爲模板,並用一個新的替換單詞的所有詞句,當您按下命令按鈕時,將這個新的修改文本保存在一個新的.txt文件中。有人可以給我一些提示嗎?使用Visual Basic查找並替換txt文檔中的文本
回答
Dim fileReader As String = My.Computer.FileSystem.ReadAllText("C:\test.txt").Replace("foo", "bar")
My.Computer.FileSystem.WriteAllText("C:\test2.txt", fileReader, False)
所以,你應該使用的文件系統的ReadAllText方法,傳遞路徑作爲參數,並用替換法更換要更換什麼。對於更高級的替換用法,可以使用正則表達式。你可以閱讀關於here。
較短的版本:
My.Computer.FileSystem.WriteAllText("C:\test2.txt", My.Computer.FileSystem.ReadAllText("C:\test.txt").Replace("foo", "bar"), False)
試試下面的例子中,我希望它可以幫助
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
由於生病嘗試這個 – 2012-04-12 18:54:25
錯誤 '打開' 未聲明。文件I/O功能可在'Microsoft.VisualBasic'命名空間中找到。 \t C:\ Users \ EMACFEL \ AppData \ Local \ Temporary Projects \ WindowsApplication1 \ Form1.vb WindowsApplication1 – 2012-04-12 19:02:33
我做錯了什麼? – 2012-04-12 19:03:00
我把這個了一個程序,我做的,只是切出你不需要的垃圾。
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
我有一個小程序,我用它來重複使用代碼。當我需要創建一個類或代碼文件時,我使用它,它與現有的類幾乎相同。它是一個基本的表單程序,包含四個文本框和一個按鈕,它們使用與接受的答案相同的命令,但字符串不是硬編碼的。
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. 在.txt文件中使用.cmd文件查找並替換
- 2. Powershell:使用查找和替換替換文本文檔中的唯一值
- 3. JavaScript查找並替換整個文檔
- 4. 查找替換列表中的文檔並進行替換?
- 5. 使用命令查找並替換文件中的文本
- 6. 在python中查找並替換文本
- 7. 查找並替換文本等文字
- 8. VB腳本查找和替換Word文檔中的文本
- 9. 在Linux中查找並替換文本
- 10. 在excel中查找並替換文本
- 11. 使用Apple腳本查找並替換Illustrator中的文本
- 12. Jquery:查找文本並替換
- 13. 替換.txt文件中的文本(C++)
- 14. 查找並替換文件夾中的多個文本文件
- 15. SQL查找並替換文本
- 16. 原型查找類並替換文本
- 17. 使用C#查找並替換字符串中的文本
- 18. 使用VB.net查找並替換XML中的文本
- 19. 查找文件中的特定文本並替換該文件
- 20. 刪除一行並用txt文件中的新文本替換
- 21. SQL查找並替換html文本
- 22. (jQuery)查找並替換特定文本
- 23. Android/Java - 查找文本並替換WebViewClient
- 24. 查詢xml文檔的節點--Visual Basic
- 25. 查找字符串和文本文檔中替換
- 26. 如何使用Visual Basic在多個文件中查找和替換文本字符串
- 27. VBA訪問 - 在Word文檔中查找和替換文本
- 28. MS Word文檔:使用Shell腳本自動查找/替換
- 29. 使用JREPL.BAT查找並替換文件中的文本使用JREPL.BAT
- 30. 使用Xcode刪除文本行使用Xcode查找並替換
Thaks生病試試這個 – 2012-04-12 19:16:09
謝謝我複製粘貼您的代碼在命令按鈕單擊事件,當我建立程序時,當我點擊按鈕沒有替換完成的文本文件,它仍然填充與富。 – 2012-04-12 19:25:49
我明白了。 String fileReader包含正確的文本嗎?你的問題是該文件不刷新。我的代碼僅用於閱讀文本,寫作還沒有完成,但我很快就會更新我的代碼。 – 2012-04-12 19:31:44