使用字符串粗体匹配字符串

时间:2014-07-31 13:55:44

标签: c# asp.net-mvc jquery-autocomplete

我想在字符串粗体中匹配单词。我正在使用与asp.net mvc的Jquery自动完成。我的以下代码仅在字符串包含单个字时才有效。

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

但是当我有两个匹配的词在随机位置时,它不起作用。

当我搜索Gemini Oil时

我的结果应为id Gemini 向日葵

任何想法

2 个答案:

答案 0 :(得分:3)

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

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>.

答案 1 :(得分:0)

您可以在每个空格字符上拆分搜索字词,然后多次运行替换:

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