Вопрос

Мне нужно сломать линию строки в разные колонны в Excel. Вот тэ вход, который я получаю.

<Сильный> ввод :

    .
  • 37006 II семестр p.g. Диплом в клинических исследованиях и экзамен по управлению данными, июль / август 2012 г. Фармативно-правовое регулирование Время: 3 часа Макс. Марки: 100

<Сильные> Выходные данные : Регистрация CSV со структурой (код, SEM / год, предмет, курс, дата экзамена, время, пометки)

    .
  • 37006, II семестр, п.Г. Диплом в клинических исследованиях и клинических данных, управление данными, августами, июль / август 2012 года, 3 часа, 100

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

<Сильная> Грамматика (это массив / словарь):

    .
  • семестры [i, ii, iii, iv, v, vi, vii, viii, ix, x, 1,2,3,4,5,6,7,8,9,10]
  • лет [I, II, III, IV, V, vi, vii, viii, ix, x, 1,2,3,4 5,6,7,8,9,10]
  • предметы [p.g. Диплом в клинических исследованиях и клинических данных управления данными, LL.B]
  • Курсы [Фарм регулирующие вопросы, закон - Юриспруденция]
  • экзамены [июль / август 2012 года, январь ./feb. 2013]
  • Время [3 часа]
  • markmarks [30,40,50,60,70,80,90,100]

fyi,

    .
  • Я не уверен, что могу использовать любые разделители, чтобы сломать его как его чрезвычайно непредсказуемое или надежное.
  • Я не уверен, что текст будет в том же порядке в каждой строке или нет фиксированной длины или автомобилями или слов

Мое предположение, читайте слово по слову и попытайтесь соответствовать любому слову в любом массиве, который у меня есть. Если его совпадение с любым словом, затем классифицируйте это слово в падение категории и добавьте в соответствующий столбец в Excel.

Здесь я знаю, как справляться с данными и все, кроме какого оптимизированного / наилучшего способа понять каждое слово падает под какая категория.

Есть ли какой-то эксперт лексического анализа, который может поделиться некоторыми мыслями на этом?

Это было полезно?

Решение

Вы должны использовать регулярные выражения для соответствия такому сложному узору текста.

Другие советы

Пожалуйста, посмотрите на лексиковый анализатор, такой как antlr .Если вы знаете Java или другие языки, которые читают регулярные выражения , вы сможете разобрать их с легкостью после полудня (или недели) пыток.Вы также можете написать REGEXP в Java, но я бы вынул вас к интерфейсу ANTLR, который вы можете использовать из Eclipse.Это покажет вам, как проанализированы линии.

У вывода ANTLR или Java выписывают файл CSV.CSV будет вашим автомобилем для получения ваших данных в электронную таблицу Excel.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top