gpt4 book ai didi

java - Freemarker 字符串高亮

转载 作者:行者123 更新时间:2023-12-02 07:17:26 25 4
gpt4 key购买 nike

我想用 searchedText 字符串突出显示字符串的一部分。

示例:我有一个产品引用 abcDeFg(区分大小写),有人搜索引用“def”的产品。结果应该是abc<span class="hl">DeF</span>g

问题:结果应该是突出显示的产品引用(区分大小写)异常(exception)结果:abc<span class='light'>DeF</span>g我的结果:abc<span class='light'>def</span>g (def很小)

目前我正在使用

 <#assign prodRef = product.getReference()>
<#if (prodRef?lower_case?index_of(searchedText?lower_case) > -1)>
<#assign textToReplace = "<span class='light'>" + searchedText + "</span>">
${product.reference?replace(searchedText, textToReplace, "i")}
</#if>

有人可以告诉我如何解决这个问题吗?基本上我需要替换字符串函数来保持原始引用的大小写敏感性。

最佳答案

正则表达式可以单独完成此操作:

${product.reference?replace(
"(" + searchedText + ")",
"<span class='light'>$1</span>",
"ri"
)}

但是,searchText 不得包含任何在正则表达式中具有特殊含义的字符(或者必须转义的字符)。

关于java - Freemarker 字符串高亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14752428/

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