gpt4 book ai didi

java - 在文本字符串中添加 URL 链接,Java

转载 作者:行者123 更新时间:2023-12-01 15:43:11 24 4
gpt4 key购买 nike

我目前正在使用此功能在某些文本中添加指向网址的链接:

public static String makeLinksInText(String text) {
String url, urltext = "";
int urlstart, urlend;
int i = 0;
while(i < text.length() - 5) {
if(text.substring(i, i + 4).toLowerCase().equals("http")) {
urlstart = i;
if(text.indexOf(" ", urlstart) > -1)
urlend = text.indexOf(" ", urlstart);
else if(text.indexOf(".", urlstart) > -1)
urlend = text.indexOf(".", urlstart);
else
urlend = text.length();
url = text.substring(urlstart, urlend);
urltext = text.substring(0, urlstart) + "<a href=\"" + url + "\" target=\"_blank\" style=\"font-size:10px;\">" + url + "</a>" + text.substring(urlend);
}
i++;
}
return urltext;
}

但也许使用正则表达式替换会更好。有人可以建议并建议另一种方法吗?谢谢

最佳答案

有关代码的一些注意事项:(1) 如果“http”作为文本字符串的一部分出现(例如 abdhttpac),您将错误地提取/替换某些内容; (2) 几乎所有的 url 中都会有一个点 - 并且您搜索一个点作为 url 的结尾本质上是错误的:想想 http://www.domain.com - 您的代码只会提取“http://www”并替换它。

正则表达式可能是一个更好的主意。您可以使用以下类型的正则表达式:

/\b(https?\:\/\/[\w\d:#@%/;$()~_?!+-=.,&]+)/i

并使用 $0 作为替换的实际 URL。

这应该捕获 http 和 https url。如果您想要其他的(例如 ftp、gopher 等),您可以相应地修改表达式。请注意,这只会捕获格式正确(url 编码)的 URL。许多浏览器可以理解带引号的 URL,但它不被视为正确的格式。

关于java - 在文本字符串中添加 URL 链接,Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7658465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com