- ベストアンサー
文字列抜出しソフト
ファイルの中の"M01"の直前の文字を抜出すフリーソフト ってありますか? X1038981Y739120Z147697F6000 Y744120Z139037 Y769120Z95735F0250 X951000F0500 Y744120Z139037←抜出し M01
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
あともうひとつ、 >For i = 0 to UBound(arrLines) >For i = 1 to UBound(arrLines) にした方がいいです。 一行目に"M01"がでてきたらエラーになります。
その他の回答 (3)
>Set objFile = objFSO.OpenTextFile("test.txt", ForReading) '入力ファイル名 "test.txt"ここで処理したいファイル名を入れてください。 パスがなくてもかまいません。 (ここでは拡張子をvbsにしてはだめです) VBScriptと同じフォルダにいれて、ダブルクリックでいいです。 フォルダの中 --test.txt (処理したいテキストファイル) --aaa.vbs (これをダブルクリック)(実行プログラム)
Const ForReading = 1 Const ForWriting = 2 Set objFSo = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("test.txt", ForReading) '入力ファイル名 strContents = objFile.ReadAll objFile.Close arrLines = Split(strContents, vbCrLf) Set objFile = objFSO.OpenTextFile("result.txt", ForWriting, True) For i = 0 to UBound(arrLines) intMatch = InStr(arrLines(i), "M01") '検索したい文字列 If intMatch > 0 Then objFile.WriteLine arrLines(i-1) objFile.WriteLine arrLines(i) '必要なければ削除して下さい End If Next objFile.Close MsgBox "処理終了" ---------------------------------------------- 使い方 先頭の Const ForReading = 1 から MsgBox の最後までコピーして メモ帳などに貼り付けて保存してください。(名前はなんでもいいです) そして 拡張子を(.txt)から(.vbs)に変更します アイコンの形がメモ帳からSの形をしたものに変わります。 TESTフォルダをデスクトップにでも作り、そこにtxtファイルをコピーして 同じTESTフォルダにSの形をしたアイコン「(.vbs)のファイル」を入れてください で、Sの形をしたアイコンをダブルクリックすると(result.txt)のファイルができます。
補足
ありがとうございます。 早速試してみたのですが、 スクリプト:C\Documents and Settings\aaa\デスクトップ\新しいフォルダ\xxx.vbs 行:5 文字:1 エラー:ファイルが見つかりません。 コード:800A0035 ソース:Microsoft VBScript実行時エラー となってしまいます。 ちなみにOSはXPです。
直前の文字ではないのですが、 前後なら秀丸のマクロでできます。 http://hide.maruo.co.jp/lib/macro/grep118.html http://hide.maruo.co.jp/lib/macro/zengo320.html 抜き出した後、また何らかの処理をすれば、いいのでは
お礼
ありがとうございました。
お礼
ありがとうございました。 すごいですね、出来ました。 感謝です。