用粗体字符串匹配生成单词

本文关键字:单词 串匹配 字符串 字符 | 更新日期: 2023-09-27 18:16:00

我想让字符串中的单词匹配加粗。我使用Jquery自动完成与asp.net mvc。我下面的代码只在字符串只有一个单词时才有效。

label = p.Name.Replace(termToSearch.ToLower(),"<b>" + termToSearch.ToLower() + "</b>"),

但是当我有2个单词匹配在随机位置时不起作用

E。g当我搜索Gemini Oil

我的结果应该是id 双子座向日葵

任何想法

用粗体字符串匹配生成单词

一行正则表达式就可以做到这一点:

String term = "Gemini Oil";
String input = "Gemini Sunflower Oil.";
String result = Regex.Replace( input, String.Join("|", term.Split(' ')), @"<b>$&</b>");
Console.Out.WriteLine(result);

<b>Gemini</b> Sunflower <b>Oil</b>.

您可以将搜索词拆分为每个空格字符,然后多次运行replace:

var terms = termToSearch.split(' ');
foreach (var term in terms) {
    p = p.Name.Replace(term.ToLower(),"<b>" + term.ToLower() + "</b>"),
}
label = p;