如何才能对一个文本文件进行多字符串的同时替换!

来源:百度知道 编辑:UC知道 时间:2024/09/13 10:47:09
众所周知,windows的“文本”程序本身就有一个对文本文件某字符进行全部替换的功能,但是这不足之处是一次只能一个字符进行替换!
小弟我有一个超级大的文本文件,需要替换中间的一些内容,但是要替换的字符串有好几千个!如果要一个一个的替换的话,如何费力是可想而知的!
于是我在网上找了很长时间,但是没有一个提供这类功能的软件!
最后我想到了批处理可能能解决这一问题,但无奈我水平有限,没有这编写的能力!所以希望那位高人能帮忙一下!小弟我先谢过了!
我的思路是这样的:
先把要替换的字符预先整理到一个文本中,(这是我自己人工整理)再让批处理依次提取这文本中的每一行,并全部替换删除掉目标文本中相应的字符串!(我只需要把符合的字符删除掉,就可以了,不需要替换成其他字符!当然啦,批处理有注解那就更好了!)

VBS我也许可以办到,但是你的文本文件不能太大,那样效率太低,如果需要请和我联系。

把下面的内容复制到记事本另存为a.vbs

dim s
set ws=createobject("wscript.shell")
set fso=createobject("scripting.filesystemobject")
'打开要处理的文件test.txt(名字可以自己改)
set file=fso.opentextfile("test.txt")
s=file.readall
file.close

'逐行读取要替换为空的文件(名字可以自己改)
set file=fso.opentextfile("list.txt")
do while file.atendofstream<>true
n=file.readline
myreplace(n)
loop
file.close

'把处理后的内容写进新建文件test#.txt
set file=fso.createtextfile("test#.txt")
file.write s
file.close

ws.run "test#.txt"

sub myreplace(a)
s=replace(s,a,"")
end sub

首先超大文本是多大?
文本内容如果不含如下半角字符的话就可以
!%^&*()|"<>