如果我们有一个网址,例如 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/