面试中有人问我一个面试问题,但我没有解决方案。

以下是示例段落,我们的程序应提供数学单词的超链接

“网络协议驱动程序-完全支持Java的基于网络协议的网络协议驱动程序将JDBC API调用转换为独立于DBMS的网络协议,然后由服务器将其转换为DBMS协议。该网络服务器中间件能够连接其所有Java基于技术的客户端访问许多不同的数据库,使用的特定协议取决于供应商,通常,这是最灵活的JDBC API替代方案,该解决方案的所有供应商都可能会提供适合Intranet使用的产品。这些产品还支持Internet访问,它们必须处理Web施加的安全性,通过防火墙访问等附加要求。一些供应商正在将基于JDBC技术的驱动程序添加到其现有数据库中间件产品中。

我们需要提供超链接的单词在数据库表(URL表)中可用

网络协议:www.network-protocol.com

网路通讯协定:www.netprotocol.com

问题是您如何去更新段落中以上两个单词的链接?

我说过我将逐字进行匹配并更新链接。

如果是单个单词匹配并更新url,我们可以明确地做到这一点。
但表格中的单词长度最多为2或3或4。则匹配不起作用,我们需要精确匹配2个字,例如网络协议和网络协议。

例如,如果我正在搜索协议词,则有许多词是匹配的,并且更新错误网址的机会会更多。

最好的解决方案是什么,有没有可用的API?如果我们也可以做得更好。

最佳答案

将整个段落读入字符串,即str
str.replaceAll(phraseFromDB, "<a href='" + urlFromDB + "'>" + phraseFromDB + "</a>")根据数据库表中找到的记录数循环执行。

10-07 19:17
查看更多