我正在制作一个搜索数据库的应用程序 - 我希望搜索词在我的输出中以粗体显示。假设我有一个字符串:
String s = "Foo Bar foobAr";
String searchTerm = "bar";
现在,我想用 将字符串 s 中出现的每个 searchTerm 括起来(使其变为粗体),无论大小写。输出应该是:
"Foo <b>Bar</b> foo<b>bAr</b>"
This is relevant ,但它使输出与 searchTerm 相同 - 我想保留原始字符串的大小写。
最佳答案
您可以使用反向引用来替换您想要的字符串。看看this question有关反向引用的更多说明。
考虑到这一点,这应该可以解决问题:
s.replaceAll("(?i)(" + searchTerm + ")", "<b>$1</b>")
关于Java:将子字符串替换为 <b>substring</b> 不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46250871/