如何在一个文件中查找指定的内容 并直接删除该内容

aikill 2003-04-29 05:03:50
各位有什么好方法?
...全文
106 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
suntt 2003-04-30
  • 打赏
  • 举报
回复
读文件到临时文件中,去掉要删除的内容
用户 昵称 2003-04-30
  • 打赏
  • 举报
回复
打开文件,查找替换,写入文件
qingming81 2003-04-30
  • 打赏
  • 举报
回复
如果一个文件很大,不在内存处理,效率会更差!!------看来你老兄还挺精的嘛,怎么叫“大---”
aikill 2003-04-30
  • 打赏
  • 举报
回复
上面给出的代码都是把文件的所有内容读入内存,然后替换,然后重新生成一个文件。这样确实能实现,只是不知道如果文件很大话,效率会不会很差?
qingming81 2003-04-30
  • 打赏
  • 举报
回复
用一个简单的原始方法吧:
dim linetext as string
dim AllText as string

open app.path & "\A.txt" for input as #1

do until EOF(1)
line input linetext
alltext =alltext & linetext & vbcrlf
loop

close #1

alltext =replace(alltext,"OKOKOK","")

open app.path & "\A.txt" for output as #2
print #2, alltext
close #2
rainstormmaster 2003-04-30
  • 打赏
  • 举报
回复
就是这样,给你代码看看:
'注意引用Microsoft Scripting Runtime
Option Explicit
Private Function deletestr(cfile As String, strdel As String) As Long
On Error GoTo myerr
Dim myfso As New FileSystemObject
Dim mystearm As TextStream
Set mystearm = myfso.OpenTextFile(cfile)
Dim s As String
s = mystearm.ReadAll
s = Replace(s, strdel, "")
Set mystearm = Nothing
Set mystearm = myfso.CreateTextFile(cfile, True)
mystearm.Write s
deletestr = 1
Exit Function
myerr:
deletestr = 0
MsgBox "error"
End Function

Private Sub Command1_Click()
Dim filename As String
filename = App.Path + "\123.txt"
Dim s As String
s = "456"
deletestr filename, s
End Sub
holydiablo 2003-04-30
  • 打赏
  • 举报
回复
读->查找->删->写回

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧