0

我有一个字符串 tmp 如下

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

我想知道在 href= 之后有一个 # 。我想这样做 if (tmp.indexOf('#') == 8) 但我不能这样做,我认为是因为# 是特殊字符

4

4 回答 4

1

要测试 # 是否遵循 href,您可以简单地这样做:

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

不需要涉及正则表达式,哈希字符#在java中也没有什么特殊的,但是双引号字符需要转义。

于 2013-03-07T08:09:16.333 回答
1

如果要检查href属性是否包含 a #,请使用 HTML 解析器,如jsoup

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

如果您真的只想检查 a#之后是否有 a href,您可以使用Regex - 但我怀疑这不是您想要的。

于 2013-03-07T08:11:37.653 回答
0

var tmp = '<a href="#" class="quickLinks" id="linkQL">Quick Links</a>';
tmp.indexOf('#');
这将返回 9,这是预期的结果。

于 2013-03-07T08:04:50.990 回答
0

尝试正则表达式

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