VB删除文本中的特定内容

例如1.txt里有这些文本:#teststart123456abcd#testend789abcdefgqwertyuiop那么怎么删掉从#teststart到#test... 例如1.txt里有这些文本:
#test start
123
456
abcd
#test end

789
abcdefg
qwerty
uiop

那么怎么删掉从#test start到#test end里的内容呢?

注:#test start和#test end两行也得删
展开
 我来答
cwa9958
2011-10-13 · TA获得超过1884个赞
知道大有可为答主
回答量:2504
采纳率:0%
帮助的人:2003万
展开全部
文本文件是不能删除里面的数据的,只能先读出,处理好了以后,再写入,覆盖原文件数据。
随机文件是可以删除里面的某一条数据,但是也不会压缩文件长度,如果空数据过多,要压缩,还要吧他读出,去除空数据,再写入另一个文件,然后删除原文件,再把新文件改名。
ljl88900
2011-10-13 · TA获得超过2661个赞
知道大有可为答主
回答量:2197
采纳率:100%
帮助的人:2616万
展开全部
Private Sub Command1_Click()
Dim a() As Byte, Fn As String, s As String
Dim i, j
Fn = App.Path & "\1.txt"
If Dir(Fn) = "" Then Exit Sub
'读取文本内容
ReDim a(FileLen(Fn) - 1)
Open Fn For Binary As #1
Get #1, , a
Close #1
'删除指定内容
s = StrConv(a, vbUnicode)
i = InStr(1, s, "#test start", vbTextCompare)
j = InStr(i, s, "#test end", vbTextCompare)
j = InStr(j, s, vbNewLine, vbTextCompare)
s = Left(s, i - 1) & Mid(s, j + 2)
a = StrConv(s, vbFromUnicode)

'把删除后的内容重新写入文件
Kill Fn
Open Fn For Binary As #1
Put #1, , a
Close #1

End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式