2014-01-10 3 views
-3

У меня есть хорошая работа, и я не знаю, как решить эту неделю в моем запросе этоИнтерпретировать строку с условием

дать мне текст ниже и преуспевать в различных областях, я должен извлечь и интерпретировать каждый текст пример «ЭФФЕКТИВНО» заключается в том, что он является датой вступления в силу и выходит на поле в excel, представьте, что A1 тогда МЕЖДУ «SAO» и «LAX», и эти два города идут в разных областях, таких как B1 и C1 pro fOR IR14BG это класс, который идет в другом поле как D1, тогда действительный для путешествия «начало» - это другое значение в другом поле и идет «КАЖДЫЙ ПОЕЗД» в другом поле может мне помочь?

Я знаю, что это не так просто, чтобы иметь некоторые базовые знания просто хотел бы знать, как я могу определить эти точки в строке и интерпретировать большое спасибо за вашу помощь

TRAVEL RESTRICTIONS 
    EFFECTIVE: 05JUL 13                   FILED 
     BETWEEN SAO AND LAX FOR IR14BG FARES 

     VALID FOR TRAVEL COMMENCING ON EACH TRIP ON/AFTER 22JUL 13 
     AND ON/BEFORE 30SEP 13. 

ответ

1

Как я понимаю, у вас есть три варианта увеличения сложности в зависимости от требуемой мощности.

Середина и InStr

Если формат статичным (то есть интервал остается неизменным, такие слова, как «ПОЕЗДКИ» и «ЭФФЕКТИВНОЕ» всегда будет такой же и в том же месте), вы могли бы иметь возможность разделить его, используя функции VBA Mid и InStr.

RegExp

Если что-то может быть немного от - может быть, есть некоторые дополнительные пространства иногда, или, может быть, кто-то может написать дату по-разному - вы можете попробовать использовать Regular Expressions. Вы можете импортировать объект VBScript RegExp в свой проект VBA и создать шаблон для соответствия данным в каждой строке.

Рекурсивный спуск Parser

Если ни один из этих методов является достаточно прочным, вы можете создать свой собственный парсер. Будьте осторожны, это не простая задача, но она самая мощная из трех. Самый простой способ парсера писать вручную (это действительно единственный вариант, который у вас есть в VBA) - это Recursive Descent parser. Лучший ресурс, который я нашел для описания концепций и процессов, - Джек У. Креншоу, названный «Давайте построим компилятор!». и вы можете найти его онлайн here.

+0

Большое спасибо за вашу помощь. Я не думал, что это будет так сложно, но я попробую поблагодарить вас за помощь и руководство – ReDStOrM

Смежные вопросы