Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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中,如何从URL获取hashtag后的值_Java_Netbeans - Fatal编程技术网

在Java中,如何从URL获取hashtag后的值

在Java中,如何从URL获取hashtag后的值,java,netbeans,Java,Netbeans,我有一个URL,我想在图形用户界面中打印标签后面的ID值。 例如,我们有www.site.com/index.php#hello,我想在GUI中的标签上打印hello值 如何在Netbeans中使用Java实现这一点?使用String.split()方法 public static String getId(string url) { return url.split("#")[1]; } String.split()返回一个字符串数组,该数组由传递给它的值分隔,或“split”,

我有一个URL,我想在图形用户界面中打印标签后面的ID值。 例如,我们有www.site.com/index.php#hello,我想在GUI中的标签上打印hello

如何在Netbeans中使用Java实现这一点?

使用
String.split()
方法

public static String getId(string url) {

    return url.split("#")[1];

}
String.split()
返回一个字符串数组,该数组由传递给它的值分隔,或“split”,在本例中为

因为您只需要
#
后面的字符串,所以您可以使用数组中的第二项,该项通过在其末尾添加
[1]
返回

有关
String.split()的详细信息,请转到

顺便说一下,您引用的URL部分是元素ID。它用于跳转到网页上的元素。

简单解决方案在课堂上:

编辑:根据@Henry评论:

我建议使用java.net.URI,因为它还处理编码。Javadocs说:“注意,URI类在某些情况下确实执行其组件字段的转义。管理URL编码和解码的推荐方法是使用URI,并使用toURI()和URI.toURL()在这两个类之间进行转换。”

这一评论:


为什么不直接执行
uri.getFragment()


您提供的信息不足以回答您的问题。例如,假设我们有www.site.com/index.php#hello,我只想在GUI的标签上打印值hello。那么,您知道如何做到这一点吗?我正在使用java netbeansEven尝试搜索解决方案。。在提问之前?一旦涉及到不寻常的字符(非ASCII或具有特殊含义的字符),URI就会有复杂的转义和编码规则。因此,我不会使用任何基于字符串或regexp的解决方案,您可以在这里的一些答案或其他地方找到这些解决方案。请使用合适的URI解析器,我不是在处理这个URL,但我只是举了一个例子来帮助您理解我的问题。无论如何,谢谢你为什么不直接做
uri.getFragment()
我用的是:if(wgfresult.indexOf('#')!=-1){wg=wgfresult.substring((wgfresult.indexOf('#'))+1)}@Henry对不起,我的错应该是URL而不是uri,如果是uri,你的解决方案是完美的
uri.getFragment()
@Dima不需要做太多的工作。有一个方法叫做
getRef
,我以前也不知道这个方法。我建议使用
java.net.URI
,因为它也处理编码。Javadocs说:“注意,URI类在某些情况下确实执行其组件字段的转义。管理URL编码和解码的推荐方法是使用URI,并使用toURI()和URI.toURL()在这两个类之间进行转换。”
URL url = new URL("http://www.anyhost.com/index.php#hello");
jLabel.setText(url.getRef());
URI uri = new URI("http://www.anyhost.com/index.php#hello");
jLabel.setText(uri.getFragment());