java - Java获取域名的相关部分

标签 java

如果我们有一个网址,例如 www.google.de 我怎样才能只获得“google”

在Java中new URL (url).getHost();确实有效,但它给了我google.de 这不是我想要的。

谢谢

编辑:如果我们有类似 www.google.co.uk 的内容,那么我也希望只有“google”作为结果。

我不需要“google.de”或“www.google”,我只想要“google”

最佳答案

分割一个句点并选择第一个或第二个元素(以不是“www”为准)可以:

URL url = new URL("http://www.host.ext.ext");
String host = url.getHost(); // host = "www.host.ext.ext"
String splitHost = host.split("\\.") // splitHost = { "www", "host", "ext", "ext" }

host = splitHost[0].equals("www") ? splitHost[1] : splitHost[0]; // host = "host"

如果前面有超过 http://www. 的内容,并且扩展名可能超过两个“扩展名”(例如 .co.uk ),那么就没有简单的方法来获得您想要的部分。据我所知,您必须尝试迭代扩展列表并返回最长匹配扩展之前的部分。

关于java - Java获取域名的相关部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45038610/

相关文章:

java - IntelliJ IDEA 像 Eclipse 一样检查变量 (Cmd-Shift-I)

java - 如何坚持EhCache开源?

java - 使用枚举键和不同值类型进行映射

java - 在不同的类层次结构中重用相同的类

java - 安卓Java : Show the value only of `id` when a listrow is selected

java - 如何使用 'ADD'按钮重复添加JPanel?如何在ActionListener()中调用JPanel?

java - 创建许多具有不同点的三角形

java - 如何更新WebView控件的flash插件

java - JTextField 输出

java - 将 blob 提取到文件 : some files are missing data