Android 部分字符串关键字匹配

Android partial string keyword match

在 android 中,我有一个主字符串和另一个字符串,其中关键字由 space(s) 分隔。 我想输出一个字符串,其中突出显示具有匹配关键字的主字符串。

例如

String strMain = "This string contains     the main contents.";

String strSearchKeywords = "this cont";

结果输出必须类似于:

String strResult = "<b>This</b> string <b>cont</b>ains     the main <b>cont</b>ents.";

一种方法是将搜索关键字拆分成一个数组列表,然后遍历每个项目并突出显示主要内容。

但是,有没有其他不迭代的方法,比如使用正则表达式匹配?

谢谢。

strMain = strMain .replaceAll("(?i)(" + strSearchKeywords.replace(' ', '|') + ")",
        "<b></b>"); 

这意味着

strMain = strMain .replaceAll("(?i)(this|cont)",
        "<b></b>");

(?i) 设置忽略大小写标志。