实现类似百度搜索效果,输入关键字(都是英文),将查出来的内容的关键字标红

我现在需要输入关键字,从数据库查出内容,并在显示时候将关键字标红。(该功能很好实现)
我现在遇到的问题是,我该如何实现替换之后显示的内容和之前数据库中查出的内容关键字位置大小写一致。
附上我写的代码:
article.getArticleTitle()是数据库中的字段。search是输入的关键字

article.getArticleTitle().replaceAll("(?i)" + search, "<span style='color:red'>" + search + "</span>");

用这种方法替换之后显示的是输入的关键字,并不是原本数据库中的内容。

replaceAll 换成 replace 函数 。replaceAll是替换整个字符串,replace才是 替换指定字符串,别的不动