Jon*_*Jon 1 .net c# regex asp.net
我正在实施网站搜索,并尝试使用以下代码突出显示用户搜索的单词:
data = Regex.Replace(data, Model.SearchCriteria, "<strong>" + Model.SearchCriteria + "</strong>", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)
然而,如果数据是"我往北走向加拿大"并且用户搜索"北",则结果将显示"我向北移向加拿大",北方突出显示但实际数据已被错误地更换.
如何高亮显示用户搜索的内容,如何保持返回的数据?
在这种情况下,您需要使用替换模式将原始文本放入替换字符串中,而不是显式搜索条件
data = Regex.Replace(
"("+Model.SearchCriteria+")",
"<strong>$1</strong>",
RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)
将parens放在搜索条件周围会将其放入未命名的组中.然后,您可以使用替换字符串中的索引引用此组$1.然后,这将使用原始匹配的文本.
有关Regex.Replace中替换字符串的信息
| 归档时间: |
|
| 查看次数: |
225 次 |
| 最近记录: |