2013-12-10 3 views
1

Im разбор HTML-кода с сайта, и я почти готов. У меня есть раздел текста, который мне нужен с сайта, но иногда есть некоторые ссылки, включенные в HTMl, от которых я хочу избавиться. Я думаю использовать тот факт, что все элементы, которые я не хочу, начинаются с «<» и, конечно, с «>». Есть какой-либо способ сделать это? Это то, что у меня есть до сих пор.Удаление сегментов из строки

for(int i = 0; i<desc.length();i++) 
    { 
     if(desc.charAt(i)==('<')){ 

     } 
    } 

desc, являющийся строкой, которую я хочу обрезать.

ответ

0

Обычно считается плохой идеей для разбора языков разметки, таких как XML и HTML вручную. Однако, если вы только пытаетесь удалить все элементы, я могу увидеть, где может быть полезен простой скрипт.

Что-то, о чем я думал, стоит упомянуть, заключается в том, что если вы удалите все элементы HTML, у вас может быть несколько фрагментов текста, застрявших вместе. Проверьте этот фрагмент кода, посмотрите, помогает ли он.

public class RemoveHtmlElements { 

    public static void main(String[] args) { 

     String html = "<!DOCTYPE html><html><body><h1>My First Heading</h1>" 
       + "<p>My first paragraph.</p></body></html>"; 

     boolean elementsExist = true; 
     while(elementsExist) { 
      if(html.contains("<")) { 
       int open = html.indexOf("<"); 
       int closed = html.indexOf(">", open); 
       html = html.substring(0, open) + " " + html.substring(closed + 1); 
      } else { 
       elementsExist = false; 
      } 
     } 

     System.out.println(html); 

    } 

} 

Это должно очистить HTML любых элементов в квадратных скобках. Он будет вводить пространство, в котором он удаляет элемент, чтобы текст не заклинился неожиданно.

0

Я бы попробовал что-то вроде этого;

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