![]() |
Парсер строк с тегами
Уважаемые форумчане.
Прошу помощи в решении задачи. Есть массив произвольных строк. Пример строки 1: <tag><tag>TEXT</tag><tag>TEXT2</tag><tag>TEXT3</tag></tag> Пример строки 2: <tag><tag>TEXT</tag><tag>TEXT2</tag><tag>TEXT3;<tag>TEXT3.1</tag>;<tag>TEXT3.2</tag></tag></tag> Нужно нарезать строку на массив из TEXT3 из второго уровня тегов, но при этом не заходя в третий уровень, т.е в TEXT3.X, если все теги одинаковые, а строки могут как иметь третий уровень тегов, так и не иметь его? Вычленить строку из второго уровня у меня получилось, но как нарезать ее, если split("regexp") не подходит, т.к единого шаблона TEXT3 нет в принципе. Единственный вариант опираться на теги. Т.е суть проблемы в том, что при нарезке строки на TEXT_X, не получается ограничить ее границы и нарезается еще и содержимое TEXT_X, т.е TEXT_X.1, TEXT_X.2 и т.п Буду благодарен за советы и помощь. |
Re: Парсер строк с тегами
jsoup либа под явку.
|
Re: Парсер строк с тегами
легкий пример
Код:
final String url = "http://gazeta.ok-crimea.ru/archive/2014/" + numberArc + "/jilaya-nedvijimost/zemelnye-uchastki/"; |
Re: Парсер строк с тегами
Цитата:
Код:
final Stream<Element> div = doc.get().getElementsByTag("tag").stream(); Мне нужно как-то ограничить нарезку двумя вхождениями. |
Re: Парсер строк с тегами
Цитата:
|
Re: Парсер строк с тегами
Вообщем я наверное изобретаю велосипед))
Суть задачи в исходном виде. Есть строка с эффектом скила в PTS-формате. Мне нужно как-то выдернуть содержимое эффекта в виде массива строк. Пример: ВХОД: Код:
{{p_physical_defence;{all};-10;per};{i_dispel_by_slot_probability;pd_up;100};{i_dispel_by_slot_probability;improve_pa_pd_up;100};{p_block_buff_slot;{improve_pa_pd_up;pd_up}}} Код:
{p_physical_defence;{all};-10;per}; Код:
{{p_ability_change;{{pdefend;50};{pattack;50};{mdefend;25};{mattack;25};{mp;10};{hp;10};{criticalprob;20};{pattackspeed;10};{musespeed;3}}}} Также есть строки такого вида: Код:
{{p_physical_defence;{all};-10;per};{i_dispel_by_slot_probability;pd_up;100};{i_dispel_by_slot_probability;improve_pa_pd_up;100};{p_block_buff_slot;{improve_pa_pd_up;pd_up}}} Цитата:
|
Re: Парсер строк с тегами
Проверить наличие таких конструкций одной регуляркой, и в зависимости от этого разбирать внутреннюю часть одним либо другим способом.
Либо потратить время и освоить один из нормальных парсеров. Мы используем ANTLR. Именно такие задачи, когда регулярки уже не хватает - он решает на ура. |
Re: Парсер строк с тегами
PHP код:
PHP код:
|
Re: Парсер строк с тегами
Цитата:
Код:
01:14:43.150 ------- {{p_block_act};{i_p_attack;2192;0;0;0};{p_magical_defence;{all};-24;per};{i_target_cancel;40}} -------- |
Текущее время: 20:12. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd. Перевод: zCarot