Java:用<b> substring </b>替换子字符串不区分大小写

时间:2017-09-16 06:34:01

标签: java string replace substring

我正在创建一个搜索数据库的应用程序 - 我希望搜索字词在我的输出中加粗。假设我有一个字符串:

String s = "Foo Bar foobAr"; 
String searchTerm = "bar";

现在,无论如何,我想用 (使其变为粗体)围绕searchTerm的每一次出现。输出应该是:

"Foo <b>Bar</b> foo<b>bAr</b>"

This is relevant,但它使输出与searchTerm相同 - 我想保留原始字符串的大小。

1 个答案:

答案 0 :(得分:2)

您可以使用反向引用来替换所需的字符串。请查看this question以获取有关反向引用的更多说明。

考虑到这一点,这应该可以解决问题:

s.replaceAll("(?i)(" + searchTerm + ")", "<b>$1</b>")