Извлечение необходимой информации из текстового файла - VB
Формулировка задачи:
Здравствуйте. Есть файл 1.txt, например, со следующим содержанием:
El one 5.22% (6)
El two 2.61 %(3)
two 67.83 % (78)
t> one 15.38% (12)
El > two 34.62 % (27)
El t> one 19.23 % (15)
нужно получить файл 2.txt со следующим содержанием:
one_6
two_3
two_78
one_12
two_27
one_15
Т.е. есть определенный набор ключевых слов (one, two, ...), необходимо в каждой строке найти одно из ключевых слов (в строке может быть только одно), удалить все символы и пробелы до этого слова и, после этого слова, кроме чисел в скобках.
Заранее всем огромное спасибо.
Решение задачи: «Извлечение необходимой информации из текстового файла»
textual
Листинг программы
Option Explicit Dim fso, ext, extp, arg, infile, outfile, re, mt Set re = CreateObject("vbscript.regexp") re.Pattern = "(one|two|four).*\((\d+)\)" 'в первых скобках - перечень ключевых слов re.ignorecase = True If WScript.Arguments.Count = 0 Then MsgBox "Этот скрипт извлекает из каждой строки файла ключевое слово и число." & vbLf & vbLf & _ "Использование:" & vbLf & _ WScript.scriptname & " ИмяФайла1 ИмяФайла2 ..." & vbLf & _ "или выделите один или несколько файлов в Проводнике и перетащите их на значок скрипта." WScript.Quit End If Set fso = CreateObject("scripting.filesystemobject") For Each arg In WScript.Arguments Set infile = fso.opentextfile(arg) extp = InStrRev(arg, ".") Set outfile = fso.createtextfile(Left(arg, extp - 1) & "_1" & Mid(arg, extp)) While Not infile.atendofstream Set mt = re.Execute(infile.readline) If mt.Count Then outfile.writeline mt(0).submatches(0) & "_" & mt(0).submatches(1) Wend Next
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д