...中括号之间的内容。。就是完成不了功能,如何修改。。。
发布网友
发布时间:2024-09-26 15:37
我来回答
共2个回答
热心网友
时间:2024-11-17 14:44
用bat来完成文本的替换有点“力不从心”,不是说他完成不了这样的工作。至少总有些缺憾。或是效率极低。下面是我写的歌vbs替换代码可以做正则表达式的匹配高级替换:如,替换“[]”里面的内容为[aa]msgbox "请选择你要操作的文件:"
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "All Files|*.*"
objDialog.InitialDir = "c:\"
intResult = objDialog.ShowOpen If intResult = 0 Then
Wscript.Quit
Else
string1=inputbox("请输入要被替换的字符串","被搜索的字符","\[.*\]")
if ""=string1 then: wscript.quit:end if
string2=inputbox("替换为:",,"[aa]")
set regEx=new regexp
regEx.ignorecase=false
regEx.global=true
regEx.Pattern=string1 set objFSO=createobject("scripting.filesystemobject")
set replacefile=objFSO.OpenTextFile(objDialog.FileName,1)
allline=replacefile.readall
set replacefile=objFSO.OpenTextFile(objDialog.FileName,2)
msgbox regEx.replace(allline,string2)
replacefile.write regEx.replace(allline,string2)
replacefile.close
End If
热心网友
时间:2024-11-17 14:44
把如下内容:for /f "delims=" %%a in (%old%.txt) do (set aa=%%aset aa=!aa:"[*]"=""!echo !aa!>>%new%.txt) 替换为:for /f "tokens=1-3* delims=[]" %%i in (%old%.txt) do (set aa=%%i%%jecho !aa!>>%new%.txt)