0

次のような文字列 tmp があります

  <a href="#" class="quickLinks" id="linkQL">Quick Links</a> 

href= の後に # があることを知りたい.. if (tmp.indexOf('#') == 8) の場合、このようにすることを考えましたが、できません。 # は特殊文字です

4

4 に答える 4

1

href属性にが含まれていることを確認する場合は、 jsoup#などのHTMLパーサーを使用します

Document doc = Jsoup.parse(html);
String href = doc.select("a").first().attr("href");
boolean isHash = href.equals("#");

#の後に行のどこかにあるかどうかを本当に確認したい場合は、正規表現hrefを使用できますが、それはあなたが望んでいることではないと思います。

于 2013-03-07T08:11:37.653 に答える
1

# が href に続くかどうかをテストするには、次のようにします。

if (input.contains("href=\"#\""))

正規表現を使用する必要はなく、Java ではハッシュ文字 # は特別なものではありませんが、二重引用符の文字はエスケープする必要があります。

于 2013-03-07T08:09:16.333 に答える
0

正規表現を試す

boolean matches = s.matches(".+href\\s*=\\s*['\"]#['\"].+");
于 2013-03-07T08:09:51.997 に答える
0

var tmp = '<a href="#" class="quickLinks" id="linkQL">Quick Links</a>';
tmp.indexOf('#');
これは 9 を返し、期待される結果です。

于 2013-03-07T08:04:50.990 に答える