在android中,我有一个主字符串和另一个字符串,其中包含由空格分隔的关键字。 我想输出一个字符串,其中突出显示具有匹配关键字的主字符串。
实施例
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.";
一种方法是将搜索关键字拆分为数组列表,然后遍历每个项目并突出显示主要内容。
但是,如果没有迭代,有没有其他方法,比如使用正则表达式匹配?
感谢。
答案 0 :(得分:3)
strMain = strMain .replaceAll("(?i)(" + strSearchKeywords.replace(' ', '|') + ")",
"<b>$1</b>");
这意味着
strMain = strMain .replaceAll("(?i)(this|cont)",
"<b>$1</b>");
(?i)
设置ignore-case标志。