Удалить пустые значения из массива - PullRequest
0 голосов
/ 26 октября 2011

Я анализирую все элементы TD веб-страницы.Есть 1 элемент TD, который кажется пустым.

EUR 1,00
EUR 2,00
empty  <--
EUR 3,00

Как я могу это исправить и удалить пустой элемент из массива (результаты)?

Заранее спасибо.

Мой код:

 try {

          Document doc = Jsoup.parse(kpo);  
       // Get all td's 
          Elements waardes = doc.select("TBODY"); 
          Iterator<Element> postIt = waardes.select("td").iterator();
       // Iterator over those elements      
          //ListIterator<Element> postIt = waardes.listIterator(); 
          postIt.next();
          postIt.next();
          postIt.next();
          postIt.next();

          SearchResults sr1 = new SearchResults();
          //SearchResults sr2 = new SearchResults();

          while (postIt.hasNext()) { 

                sr1 = new SearchResults();
                // Add the game text to the ArrayList      
                sr1.setNaam(postIt.next().text()); 
                sr1.setWaarde(postIt.next().text());  
                results.add(sr1); 
          } 

          } catch (Exception e) { 
        // TODO Auto-generated catch block 
            e.printStackTrace(); 
          } 

          return results;

        } 

Редактировать: Я получил его на работу, как:

while (postIt.hasNext()) {  

    String naam = postIt.next().text();
    String waarde = postIt.next().text();

    sr1 = new SearchResults();

    // Add the text to the ArrayList     
    if (!naam.trim().isEmpty() && !waarde.trim().isEmpty()) {
       sr1.setNaam(naam);
       sr1.setWaarde(waarde);
       results.add(sr1); 
    }

1 Ответ

0 голосов
/ 27 октября 2011

Просто убедитесь, что вы уже не добавляете SearchResults, когда waarde пусто. Таким образом, вам не нужно потом возиться с чисткой того и другого.

Итак, замените

sr1.setWaarde(postIt.next().text());  
results.add(sr1); 

например

String waarde = postIt.next().text();

if (!waarde.trim().isEmpty()) {
    sr1.setWaarde(waarde);  
    results.add(sr1);
}
...