0

次のようなhtmlコードがあります。

<div class="address">
    <strong>Max Mustermann  </strong>             
    <br>Secondstreet 12          
    <br>1234 New York     
    <br>                      
    <br>                     
    <br>                     
</div>

ここに私のコードがあります:

    html = html.replace("<br>", "br34k");
    Document doc = Jsoup.parse(html);

    Elements divs = doc.select("div.address");

    StringBuilder divResult = new StringBuilder();
    for (Element div : divs) {
        divResult.append(div.text());
    }
    String result = divResult.toString();

    result = completeResults.replace("br34k", System.getProperty("line.separator"));

    System.out.println(result);

これにより、出力は次のようになります。

06-18 20:00:30.290: I/System.out(623): Cafe Palio 
06-18 20:00:30.290: I/System.out(623): Marktplatz 1 
06-18 20:00:30.290: I/System.out(623): 79312 Emmendingen 
06-18 20:00:30.290: I/System.out(623):  
06-18 20:00:30.290: I/System.out(623):  
06-18 20:00:30.300: I/System.out(623): Domino Stüble 
06-18 20:00:30.300: I/System.out(623): Markgrafenstr. 57 
06-18 20:00:30.300: I/System.out(623): 79312 Emmendingen 
06-18 20:00:30.300: I/System.out(623):  
06-18 20:00:30.300: I/System.out(623):  
06-18 20:00:30.300: I/System.out(623): Pizza Boxx 
06-18 20:00:30.300: I/System.out(623): Am Elzdamm 66 
06-18 20:00:30.300: I/System.out(623): 79312 Emmendingen 

しかし、私が必要とするのは、次のような名前のない文字列です:

マルクトプラッツ 1 79312 エメンゲン

Markgrafenstr. 57 79312 エメンデン

等々..

4

2 に答える 2

0

必要に応じて、周辺のコードを最適化できStringます。

Document document = Jsoup.parse(content);
    String text = document.select(".address").text();
    String title = document.select(".address strong").text();
    String output = text.replaceFirst(title, "").trim();
    System.out.println(output);

更新された質問を反映するように回答を更新しました

<div>このコードは、複数のがある場合に機能しますclass="address"

Elements elements = document.select(".address");
    for (Iterator<Element> iterator = elements.iterator(); iterator.hasNext();)
    {
        Element element = iterator.next();
        String text = element.text();
        String title = element.select("strong").text();
        String output = text.replaceFirst(title, "").trim();
        System.out.println(output);

    }
于 2013-06-18T15:46:28.707 に答える