Извлечение необходимой информации из текстового файла - 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
Листинг программы
  1. Option Explicit
  2.  
  3. Dim fso, ext, extp, arg, infile, outfile, re, mt
  4.  
  5. Set re = CreateObject("vbscript.regexp")
  6. re.Pattern = "(one|two|four).*\((\d+)\)" 'в первых скобках - перечень ключевых слов
  7. re.ignorecase = True
  8.  
  9. If WScript.Arguments.Count = 0 Then
  10.   MsgBox "Этот скрипт извлекает из каждой строки файла ключевое слово и число." & vbLf & vbLf & _
  11.     "Использование:" & vbLf & _
  12.     WScript.scriptname & " ИмяФайла1 ИмяФайла2 ..." & vbLf & _
  13.     "или выделите один или несколько файлов в Проводнике и перетащите их на значок скрипта."
  14.   WScript.Quit
  15. End If
  16. Set fso = CreateObject("scripting.filesystemobject")
  17. For Each arg In WScript.Arguments
  18.   Set infile = fso.opentextfile(arg)
  19.   extp = InStrRev(arg, ".")
  20.   Set outfile = fso.createtextfile(Left(arg, extp - 1) & "_1" & Mid(arg, extp))
  21.   While Not infile.atendofstream
  22.     Set mt = re.Execute(infile.readline)
  23.     If mt.Count Then outfile.writeline mt(0).submatches(0) & "_" & mt(0).submatches(1)
  24.   Wend
  25. Next

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


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

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

5   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы