字符串中的特殊字符#

时间:2013-03-07 07:49:28

标签: java string special-characters

我有一个字符串tmp,如下所示

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

我希望能够知道在href =之后有一个#..我想这样做(tmp.indexOf('#')== 8)但是我不能,我认为它是因为#是一个特殊的角色

4 个答案:

答案 0 :(得分:1)

要测试#是否跟随href,你可以简单地对此:

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

没有必要涉及正则表达式,并且哈希字符#在java中并不特殊,但双引号字符需要转义。

答案 1 :(得分:1)

如果您想检查href属性是否包含#,请使用像jsoup

这样的HTML解析器
Document doc = Jsoup.parse(html);
String href = doc.select("a").first().attr("href");
boolean isHash = href.equals("#");

如果你真的只想检查#之后的任何地方是否有href,你可以使用Regex - 但我怀疑这不是你想要的

答案 2 :(得分:0)

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

答案 3 :(得分:0)

尝试正则表达式

boolean matches = s.matches(".+href\\s*=\\s*['\"]#['\"].+");