Velocity: найти строки mathing и сохранить их в массиве - PullRequest
0 голосов
/ 12 декабря 2011

У меня есть текст, и я хочу извлечь некоторую строку на основе шаблона регулярного выражения:

<div>This is a text</div><div>  </div><div>here is another text</div>

Как я могу хранить все вхождения между <div> и </div> в массиве, избегаяпустые / пробелы?

Спасибо.

1 Ответ

0 голосов
/ 21 декабря 2011

Кажется, что вы хотите разобрать содержимое из документа html / xml. Скорость была бы полезна для того, чтобы взять массив строк и поместить их в теги div ... а не наоборот.

HtmlCleaner - это полезный инструмент, который форматирует html в xml (т. Е. Включает закрывающие теги p и прочее). Затем вы можете легко получить содержимое тегов div, используя xpath.

Вот некоторый непроверенный код, с которого стоит начать:

try {
    HtmlCleaner cleaner = new HtmlCleaner();
    TagNode node = cleaner.clean(htmlString);
    Object[] elements = node.evaluateXPath("//div");
    for(Object element : elements){
        System.out.println(((TagNode) element).getText().toString());
    }
} catch (IOException e) {
    Logger.getLogger().error(ExceptionUtils.getStackTrace(e));
} catch (XPatherException e) {
    Logger.getLogger().error(ExceptionUtils.getStackTrace(e));
}
...