我有一个包含多行的文件。

  • 每行第八个位置后必须有“-”。
  • 我可以在第9个位置读取带有“-”的行,但是如果不在第9个位置,则无法写入“-”。

  • 任何帮助将非常感激。

    最佳答案

    这个vbs

  • 打开文件C:\temp\log.txt
  • 通过一个正则表达式
  • 进行全局更改
  • 将新的更新文本写回到原始文件

  • 请更改文件路径以适合此行StrFileName = "C:\temp\log.txt"
    Const ForReading = 1
    Const ForWriting = 2
    Dim objFSO
    Dim objTF
    Dim objRexex
    Dim StrFileName
    Dim strTxt
    
    StrFileName = "C:\temp\log.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTF = objFSO.OpenTextFile(StrFileName, ForReading)
    Set objregex = CreateObject("vbscript.regexp")
    strTxt = objTF.ReadAll
    objTF.Close
    With objregex
        .Global = True
        .MultiLine = True
        .Pattern = "^(.{8})[^-](.*)$"
        strTxt = .Replace(strTxt, "$1" & "-" & "$2")
    End With
    
    Set objTF = objFSO.OpenTextFile(StrFileName, ForWriting)
    objTF.Write strTxt
    objTF.Close
    

    08-25 20:53