0

私は常に次のように見える文字列を持っています:

<a href="http://www.wcc.nrcs.usda.gov/nwcc/site?sitenum=XXX">Site Info</a>

...ここで、sitenum=XXX は、3 つまたは 4 つまたは 5 つの数字の組み合わせになります。この文字列からサイト番号だけを取得しようとしています。

これにより、3つの数字の正しい情報が得られると考えました。

String src = de.substring(de.lastIndexOf("sitenum=") + 3);

ただし、これは 'sitenum=' から 'sit' を取り除き、">Site Info のような他のすべてを返します。

数字を取得して、数字の直後にある「」を叩いたら止めてほしいです。

lastIndexOf を間違って使用していますか?

編集 - 回答はある URL では機能しましたが、別の URL では機能しませんでした:

http://www.wcc.nrcs.usda.gov/cgibin/wygraph-multi.pl?state=NV&amp;wateryear=current&amp;stationidname=19K07S

この URL から「状態」を取得しようとしていますが、状態を取得するのではなく、「状態」の文字を置き換えるだけです...コードは次のとおりです。

String state = de.substring(de.lastIndexOf("state=") + 2,
de.indexOf("&", de.lastIndexOf("state=")));

状態は常に 2 文字または数字の 0 です...これを文字列で実行すると、次のようになります。

ate=0

たとえば...これがどのように機能するのか混乱していますか?

編集編集!ああ!わかりました...だから、次の文字を見つけるために比較している文字の量である2は6である必要がありますか?

4

3 に答える 3