如何从Java中的URL标记后获取值

时间:2017-07-15 05:58:17

标签: java netbeans

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

如何在Netbeans中使用Java?

2 个答案:

答案 0 :(得分:0)

使用String.split()方法。

public static String getId(string url) {

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

}

String.split()返回一个分隔的字符串数组,或者" Split,"通过您传递给它的值,或者在这种情况下#

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

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

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

答案 1 :(得分:0)

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

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

编辑:根据@Henry评论:

我建议使用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());