以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么覆盖文本文件中的特定字符?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70907)

--  作者:aduydgd
--  发布时间:2015/7/1 10:52:00
--  [求助]怎么覆盖文本文件中的特定字符?
Dim FileName As String = ProjectPath & "save.txt"
Dim
 Info As String = User.Name & "|" & Date.Now & 
vbcrlf 
FileSys.WriteAllText(FileName, Info, 
True
)

上面的这个例子,可以创建一个文本文件,写入想写的内容,那么比如:我在文本文件中写入了一个字符“你好”,那么我想把文件中的这个“你好”的字符改为空或者其他字符,这个怎么操作?


我使用的是重新写入,以覆盖的方式来操作,但是这个方式除了当前需要修改的字符不修改,其他的全部给修改了,郁闷

--  作者:大红袍
--  发布时间:2015/7/1 10:55:00
--  

 呃,你的思路没问题。读取全部没内容,把字符串处理完成以后,重新写入。

 

 FileSys.WriteAllText(FileName, Info, False)


--  作者:aduydgd
--  发布时间:2015/7/1 11:09:00
--  
怎么处理?想不到好办法
--  作者:大红袍
--  发布时间:2015/7/1 11:24:00
--  

Dim FileName As String = ProjectPath & "save.txt"
Dim Info As String = "你好阿斯顿咖啡机阿卡三等奖你好你好34斤(⊙o⊙)3(⊙o⊙)叫(⊙o⊙)就"
FileSys.WriteAllText(FileName, Info, False)

Dim str As String = FileSys.ReadAllText(fileName)
str = str.Replace("你好", "123456789")
FileSys.WriteAllText(FileName, str, False)

msgbox(str)


--  作者:aduydgd
--  发布时间:2015/7/2 19:29:00
--  
这个方法也是不行,到最后的结果都是 true

我之前的方法也是这样的

--  作者:大红袍
--  发布时间:2015/7/2 19:47:00
--  
 什么意思?什么不行?4楼的代码就是把 你好 替换成 123456789 了啊,不可能不行