Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串中的特殊字符#_Java_String_Special Characters - Fatal编程技术网

Java 字符串中的特殊字符#

Java 字符串中的特殊字符#,java,string,special-characters,Java,String,Special Characters,我有一个字符串tmp,如下所示 <a href="#" class="quickLinks" id="linkQL">Quick Links</a> 我想知道有一个#after href=。。如果(tmp.indexOf(‘#’)==8)我想这样做,但我不能,我想这是因为#是一个特殊字符var tmp=''tmp.indexOf(“#”)返回9,这是预期结果 要测试#是否遵循href,您可以简单地执行以下操作: if (input.contains("href

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

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

我想知道有一个#after href=。。如果(tmp.indexOf(‘#’)==8)我想这样做,但我不能,我想这是因为#是一个特殊字符

var tmp=''
tmp.indexOf(“#”)
返回9,这是预期结果

要测试#是否遵循href,您可以简单地执行以下操作:

if (input.contains("href=\"#\""))
不需要涉及正则表达式,哈希字符在java中并不特殊,但双引号字符需要转义。

试试正则表达式

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

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


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

这听起来很适合正则表达式。顺便问一下,Java字符串文本中的
#
没有什么特别之处。你说的“我不能”是什么意思?tmp.indexOf(“#”)应该返回9。如果您确实想检查字符串
#
是否位于
href
字符串之后的任何位置(例如,在href之后的
id
属性中),则可以使用正则表达式。如果要检查
#
是否在
href
属性中,则应使用html解析器。单引号是有效的html,或者至少受浏览器支持。我想这取决于html的来源,取决于你对它的外观有多自信。
Document doc = Jsoup.parse(html);
String href = doc.select("a").first().attr("href");
boolean isHash = href.equals("#");