Какой самый быстрый способ удалить HTML-теги из документа в Java? - PullRequest
2 голосов
/ 03 января 2012

У меня есть пачка веб-документов, и я хочу удалить из нее теги html. Я видел некоторые сообщения в StackOverflow о том, как делать в Java, все от регулярных выражений до HtmlCleaner и Jsoup.

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

Спасибо за любые ответы заранее.

Ответы [ 3 ]

1 голос
/ 03 января 2012

Мое мнение состоит в том, чтобы использовать как можно больше потоковой / SAX-обработки: 1) потому что она использует меньше памяти 2) это быстро 3) может быть проще распараллелить (следствие низкого потребления памяти)

ТеФакторы необходимы (из моего POV) вашими случаями использования, когда у вас есть миллион документов.пожалуйста, смотрите там Wikipedia SAX

Так что, если ваш HTML строгий или XHTML.Используйте XSLT, и здесь приведено руководство по преобразованию XML (XHTML) с использованием SAX XSLT + SAX + Java .

И, наконец, если у вас нет действительного XML-кода, пожалуйстапосмотрите на это Java: замена строк в потоках, массивах, файлах и т. д. , использующих поток (и PushBackReader).

HTH

0 голосов
/ 10 января 2012

Похоже, регулярное выражение Java является самым быстрым решением.Однако это ухудшает качество текста, полученного после.

0 голосов
/ 03 января 2012

1) если html - правильный xml, вы можете создать его объект документа и удалить узел.

2) если это не правильный xml, тогда прочитайте весь html как строку & и используйте функцию replace для удаления солнечной строки "html".

Если HTMl не является правильным XML, регулярное выражение является самым быстрым способом замены в строке.

...