首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用vbscript替换文本文件中的多个文本

使用vbscript替换文本文件中的多个文本
EN

Stack Overflow用户
提问于 2013-02-20 13:47:03
回答 1查看 38.1K关注 0票数 2

我正在尝试替换文本文件中的3个文本。我尝试了这个-

代码语言:javascript
运行
复制
Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("W:\Test.txt", ForReading)

strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, "Aron_", "Lori_")
strNewText1 = Replace(strText, "Aron", "Jason")   'Not working
strNewText2 = Replace(strText, "Sketa", "Skicia") 'Not working


Set objFile = objFSO.OpenTextFile("W:\Test.txt", ForWriting)
objFile.WriteLine strNewText 
objFile.WriteLine strNewText1 'Not working
objFile.WriteLine strNewText2 'Not working


objFile.Close

我不能想出如何做多个replacement.The代码工作完美的单个替换功能,但不超过one...plz帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-20 13:52:58

您需要对上一个Replace的结果调用Replace

代码语言:javascript
运行
复制
Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("W:\Test.txt", ForReading)

strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, "Aron_", "Lori_")
strNewText1 = Replace(strNewText, "Aron", "Jason")
strNewText2 = Replace(strNewText1, "Sketa", "Skicia")

Set objFile = objFSO.OpenTextFile("W:\Test.txt", ForWriting)
objFile.WriteLine strNewText2 

objFile.Close

实际上,您可以重用单个变量,而不是使用strNewTextstrNewText1strNewText2

代码语言:javascript
运行
复制
strText = Replace(strText, "Aron_", "Lori_")
strText = Replace(strText, "Aron", "Jason")
strText = Replace(strText, "Sketa", "Skicia")

之后的版本:

代码语言:javascript
运行
复制
objFile.WriteLine strText

此外,您可能希望考虑使用正则表达式一次匹配多个值。(在SO上搜索VBScript正则表达式VBA正则表达式。)

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14973105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档