繁体   English   中英

如何从Java中的URL在主题标签后获取值

[英]How can I get value after hashtag from URL in Java

我有一个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()返回一个字符串数组,该字符串数组由您传递给它的值(或#分隔。

因为只需要#之后的字符串,所以只需在其返回的数组中添加[1]就可以使用它返回的数组中的第二项。

有关String.split()更多信息,请转到Tutorials Point

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

简单的解决方案是URL类中的getRef()

URL url = new URL("http://www.anyhost.com/index.php#hello");
jLabel.setText(url.getRef());

编辑:根据@亨利评论:

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

这个评论:

为什么不只是做uri.getFragment()

URI uri = new URI("http://www.anyhost.com/index.php#hello");
jLabel.setText(uri.getFragment());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM