Извлечение необходимой информации из текстового файла - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5
Похожие ответы