Разбор якорных тегов в Java-строке

0

Я создаю веб-искатель, и я просто прочитал html страницы и записал в строку. Затем я нашел все теги привязки внутри html и сохранил их в ArrayList, называемом anchorTags. Теперь мне нужно проехать часть "a href=" каждой строки в списке массивов. Для этого я написал следующий код; однако по какой-то причине я получаю исключение outofbounds. Обратите внимание, что мне нужно сделать это с помощью петель, только для arraylists:

ArrayList<String> parsedLinks = new ArrayList<String>();
    String storeHTML = "";

    for(int i = 0; i < anchorTags.size(); i++) {
        String anchorTag = anchorTags.get(i);
        int hrefIndex = anchorTag.indexOf("a href=");

        if (hrefIndex > -1) {



            int beginQuote = anchorTag.indexOf("\"", hrefIndex);

            int EndQuote = anchorTag.indexOf("\"", beginQuote +1);

            if (EndQuote > beginQuote) {
                storeHTML.substring(beginQuote +1, EndQuote);

            }


        }
    }
    parsedLinks.add(storeHTML);
    System.out.println(parsedLinks);
    return parsedLinks;


}
  • 0
    «Я получаю исключение вне границ» Это исключение скажет вам точно, что происходит не так. Предполагая, что вы посмотрели на него и все еще в тупике, не думаете ли вы, что было бы важно опубликовать исключение, чтобы помочь другим помочь вам?
  • 0
    Исключение: Исключение в потоке «main» java.lang.StringIndexOutOfBoundsException: индекс строки вне диапазона: 66 в java.lang.String.substring (неизвестный источник) в WebCrawler.WebCrawler.linkParser (WebCrawler.java:127) в WebCrawler .WebCrawler.main (WebCrawler.java:28)
Показать ещё 2 комментария
Теги:
arraylist
parsing

1 ответ

1
Лучший ответ

не должны

storeHTML.substring(beginQuote +1, EndQuote);

быть

storeHTML = anchorTag.substring(beginQuote +1, EndQuote); ?

  • 0
    Да! Я вижу, что я сделал не так там. Спасибо! Это распечатывает мои исходные строки, но результат сохраняет якорные теги и ничего не снимает
  • 0
    Вам нужно показать некоторые примеры ввода, ожидаемый результат и фактический результат.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню