0

私は次のHTMLを持っています...

<h3 class="number">
<span class="navigation">
6:55 <a href="/results/result.html" class="under"><b>&raquo;</b></a>
</span>**This is the text I need to parse!**</h3>

次のコードを使用して、h3 タグからテキストを抽出できます。

Element h3 = doc.select("h3").get(0);

残念ながら、それはそのタグのすべてを私に与えます。

6:55 &raquo; This is the text I need to parse!

Jsoup を使用して異なるタグを解析できますか? これを行うためのベストプラクティスはありますか (正規表現?)

4

2 に答える 2

3

(正規表現?)

いいえ、この質問の回答でわかるように、正規表現を使用して HTML を解析することはできません。

これを試して:

Element h3 = doc.select("h3").get(0);
String h3Text = h3.text();
String spanText = h3.select("span").get(0).text();
String textBetweenSpanEndAndH3End = h3Text.replace(spanText, "");
于 2013-08-19T16:52:53.570 に答える
0

いいえ、JSoup はこのために作成されたものではありません。階層的なものを解析することになっています。終了タグと開始タグの間、またはその逆のテキストを検索しても、JSoup では意味がありません。そのための正規表現です。

ただし、文字列で正規表現を使用する前に、まず JSoup を使用して可能な限り絞り込む必要があります。

于 2013-08-19T16:53:20.013 に答える