Парсинг текста по маске - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день! Спецы парсинга помогите чайнику. Есть некий текст (tekst), содержащий последовательности символов(наприм $*1) для поиска начала нужного фрагмента текста, который заканчивается в конце строки (до символов "0D 0A"). Пытаюсь выделить- никак. Вот фрагмент, где тормоз. tekst=" $*17,5 1 0,5343 2 1,0252 3 1,5145 4 2,0208 5 2,5253 6 3,0148 7 3,5202 " Нужно выцепить последовательности типа "0,5343" именно после "$*1", которая в дальнейшем другая и, игнорируя "7,5" получить 0,5343 nns = Mid(tekst, InStr(tekst, "$*1") + 10, 6) - для первой строчки получается По Instr(tekst,"$*1") нахожу начало фрагмента, +10 на символы "$*1,75" и "0A","0D" 6 на искомое. А, вот как взять следующие строки, учитывая что крайний левый индекс (до пробела) может быть двузначным, а отсчёт разной длины, например, 12, 2333 или 234,1234? Т.e. 10 и 6 не константы, 7,5 - тоже. Полагаю, ориентироваться нужно после "$*1", учитывая конец строки и пробел. Но.. Описал, как мог подробно. Спасибо.

Решение задачи: «Парсинг текста по маске»

textual
Листинг программы
a=split(tekst,vbcrlf)
for i=1 to ubound(a)-1
  debug.print split(a(i))(1)
next

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


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

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

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