0

HTML文字列から数値を取得しようとしていますが、正しく行う方法が思いつかず、すでにJsoupの手順を探していましたが、どのように機能するのかよくわかりません。

これは私が解析しなければならない文字列の1つです:

<span class="b"><a href="/paline/linea/014?id_palina=76954&amp;nav=5#pal">014</a>:</span>

私が出力として取得しようとしているのは、リンクの名前である014です。ちなみに、整数ではなく、文字列変数で数値を取得する必要があります。

またはこれ

<span class="b"><a href="/paline/percorso/50268?id_palina=76954&amp;nav=5#pal">08</a>:</span>

08の場合。

私が見つけた主な問題は、文字列内で/ paline / percorso /の後の数字と、リンクの名前である数字の2つが変わることです。誰か助けてくれませんか?

4

3 に答える 3

1

すべてのサンプルがこのようなものである場合、単純な文字列関数を使用してこれを行うことができます。

final String input = "<span class=\"b\"><a href=\"/paline/linea/014?id_palina=76954&amp;nav=5#pal\">014</a>:</span>";

final int i2 = input.lastIndexOf( "</a>" );
final int i1 = input.lastIndexOf( '>', i2 ) + 1;

final String result = input.substring( i1, i2 );

System.out.println( result );
于 2012-09-28T14:00:14.920 に答える
0

おそらく単純な正規表現を試してみます。文字列にもよりますが、単純で簡単な正規表現よりも複雑になる場合があります。

String html = "<span class="b"><a href="/paline/linea/014?id_palina=76954&amp;nav=5#pal">014</a>:</span>"
html.replaceAll( ".*<a.*>([0-9]*)</a.*", "$1" );
于 2012-09-28T14:10:00.230 に答える
0

次のようなものを試すことができます:

Elements resultLinks = doc.select("span.b > a");
for (Element e:resultLinks)
    String yourText=e.text();
于 2012-09-28T13:29:42.383 に答える