首页 > 解决方案 > 在字符串中间插入文本(链接)

问题描述

我从表单中的消息中获取 URL https://example.com/eUjKSv,但是我需要在和/raw/之间插入一个“标签” 。 我想知道什么是最简单的方法,目前我有一个非常“hacky”的方法来实现它,我知道它非常糟糕,只有在我确切知道 URL 的情况下才有效。关于如何使它变得更好的任何建议?我想到了正则表达式,但想不出一个好的方法来捕捉它。.com/eUjKSv
new URL("https://example.com/raw" + new URL(link).getPath())

标签: javaregex

解决方案


您可以使用URL类或URI类。他们都为此工作。

URL baseUrl = new URL("https://example.com/eUjKSv");
URL rawUrl = new URL(baseUrl, "/raw" + baseUrl.getPath());
System.out.println("baseUrl = " + baseUrl);
System.out.println("rawUrl = " + rawUrl);
URI baseUri = new URI("https://example.com/eUjKSv");
URI rawUri = baseUri.resolve("/raw" + baseUri.getPath());
System.out.println("baseUri = " + baseUri);
System.out.println("rawUri = " + rawUri);

输出

baseUrl = https://example.com/eUjKSv
rawUrl = https://example.com/raw/eUjKSv
baseUri = https://example.com/eUjKSv
rawUri = https://example.com/raw/eUjKSv

推荐阅读