提取字符串并写入新文件

时间:2013-08-03 10:44:20

标签: vbscript scripting wsh

我在谷歌上搜索,但没有找到正确的答案,也许这里的人愿意并且能够帮助我。 我对VBS或WSH很新,我喜欢为这个问题找到解决方案:

我在没有换行符的文件中搜索文本字符串(只有一行)。我正在寻找的文本字符串始终使用相同的内容“jpgline”,并以三个字母“qbm”结束。我们怎样才能将“ jpgline .... qbm ”中的每个句子(字符串总是64个字符长)提取到一个单独的文件中。

我在使用Windows 7时正在寻找Visual Basic脚本中的解决方案。

提前致谢

M i k e

2 个答案:

答案 0 :(得分:0)

使用正则表达式:

Set re = New RegExp
re.Pattern = "^jpgline.*qbm$"
re.IgnoreCase = True

Set fso = CreateObject("Scripting.FileSystemObject")
Set inFile  = fso.OpenTextFile("C:\path\to\input.txt")
Set outFile = fso.OpenTextFile("C:\path\to\output.txt", 2, True)

Do Until inFile.AtEndOfStream
  line = inFile.ReadLine
  If re.Test(line) Then outFile.WriteLine line
Loop

inFile.Close
outFile.Close

答案 1 :(得分:0)

由于您的输入文件没有行,请使用.ReadAll()将其整个内容加载到字符串变量中。应用RegExp来获取由模式“jpgline。{N} qbm”定义的所有部分(匹配),其中N是64或64 - 前/后缀的长度。 Ansgar已经展示了如何打开和写入输出文件。

使用RegExp Docs了解.Execute以及如何循环生成的匹配集合。文档会告诉你。测试也是。