我正在创建一个搜索数据库的应用程序 - 我希望搜索字词在我的输出中加粗。假设我有一个字符串:
String s = "Foo Bar foobAr";
String searchTerm = "bar";
现在,无论如何,我想用 (使其变为粗体)围绕searchTerm的每一次出现。输出应该是:
"Foo <b>Bar</b> foo<b>bAr</b>"
This is relevant,但它使输出与searchTerm相同 - 我想保留原始字符串的大小。
答案 0 :(得分:2)
您可以使用反向引用来替换所需的字符串。请查看this question以获取有关反向引用的更多说明。
考虑到这一点,这应该可以解决问题:
s.replaceAll("(?i)(" + searchTerm + ")", "<b>$1</b>")