-1

グーグルで調べましたが、正しい答えが見つかりませんでした。おそらく、ここの人々は喜んで私を助けることができます. 私は VBS または WSH に非常に慣れていないので、この問題の解決策を知りたいです。

ファイル内で改行なし(1 行のみ) のテキスト文字列を検索しています。私が探しているテキスト文字列は、常に同じ内容の「jpgline」で始まり、「qbm」という 3 文字で終わります。「 jpgline....qbm」を含む各文 (文字列は常に 64 文字の長さ) を別のファイルに抽出するにはどうすればよいでしょうか。

Windows 7 を使用しているため、Visual Basic Sc​​ript で解決策を探しています。

前もって感謝します

マイク・アイク

4

2 に答える 2

0

入力ファイルには行がないため、.ReadAll() を使用して内容全体を文字列変数にロードします。RegExp を適用して、パターン "jpgline.{N}qbm" で定義されたすべての部分 (Matches) を取得します。ここで、N は 64 または 64 (プレ/サフィックスの長さ) です。Ansgar は、出力ファイルを開いて書き込む方法を示しました。

RegExp ドキュメントを使用して、.Execute と、結果の一致コレクションをループする方法について学習します。ドキュメントは .Test についても教えてくれます。

于 2013-08-03T18:11:45.260 に答える
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
于 2013-08-03T14:48:49.817 に答える