我正在为构建比较构建一个jenkins工作。我想用单个新行(\ n)替换文本文件中的双换行符(\ n \ n)。之后我想替换 word" commit"的每个实例。用换行符提交,即" \ ncommit" 。我想为此使用 vbscript ,任何人都可以建议如何做到这一点?
目前我正在使用以下VBScript:
Const ForReading = 1
Const ForWriting = 2
strName = Wscript.Arguments(0)
strOriginal = Wscript.Arguments(1)
strReplacement = Wscript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strName, ForReading)
strText = objFile.ReadAll
objFile.Close
' Replace desired string
Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.IgnoreCase = False
objRegExp.Pattern = strOriginal
strReplacement = objRegExp.Replace(strText, strReplacement)
Set objFile = objFSO.OpenTextFile(strName, ForWriting)
objFile.Write strReplacement
objFile.Close
该脚本用正常字符串替换正则表达式模式,即它用正常字符串替换双换行符,即用字符串\n
替换。我不知道如何扩展它以用正则表达式替换正则表达式。
答案 0 :(得分:0)
正则表达式对此有些过分。使用两个字符串替换:
strText = objFSO.OpenTextFile(strName, ForReading).ReadAll
strText = Replace(strText, vbLf & vbLf, vbLf)
strText = Replace(strText, "commit", vbLf & "commit")
objFSO.OpenTextFile(strName, ForWriting).Write strText