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)
设置忽略大小写标志。
在 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)
设置忽略大小写标志。