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

标签 java string replace substring

我正在制作一个搜索数据库的应用程序 - 我希望搜索词在我的输出中以粗体显示。假设我有一个字符串:

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/

相关文章:

java - BufferedWriter不写入txt文件

java - 使用 SecureRandom 时线程 "AWT-EventQueue-0"java.lang.NullPointerException 中出现异常

PHP 生成一个唯一的字符串

Python 正则表达式 : why does this not work?

python - 在 Python 中使用函数作为 re.sub 的参数?

java - 形状的类层次结构

java - 定期更新 Rome 的 RSS feed

java - 正在添加到列表的字符<String>

java - Avro 和 java : deserialized map of string doesn't "equals" original map

batch-file - bat 文件修改 web.config 设置