URL操作

vij*_*had -3 java

我想对URL进行一些操作.

需要在已创建的URL中添加子域,如下所示

输入

String inputURL = "http://www.myhost.com";
String subdomain = "newlocation";
Run Code Online (Sandbox Code Playgroud)

产量

String output = "http://www.newlocation.myhost.com";
Run Code Online (Sandbox Code Playgroud)

我在想是否有任何现有的实用工具类可以为我做这件事.专家可以有话要说.

谢谢你的帮助 !

Boz*_*zho 5

请注意,"www"也是子域名.所以你实际上是在追加另一个子域名.

    String inputURL = "http://www.myhost.com";
    String subdomain = "newlocation";

    URL url = new URL(inputURL);

    String[] domainParts = url.getHost().split("\\.");
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < domainParts.length; i ++) {
        if (i == 1) {
            sb.append(subdomain + ".");
        }
        sb.append(domainParts[i] + ".");
    }
    String query = "";
    String port = "";
    if (url.getQuery() != null) {
        query = "?" + url.getQuery();
    }
    if (url.getPort() != -1) {
        port = url.getPort() + "";
    }
    String output = url.getProtocol() + ":" + port + "//" + sb.toString() + "/" + url.getPath() + query;
    System.out.println(output);
Run Code Online (Sandbox Code Playgroud)