【发布时间】:2019-04-22 07:43:15
【问题描述】:
我试图模仿 Google 显示相关搜索结果的方式。
假设我搜索了“小部件”。
在 Google 提供的相关字词中,除了搜索字词之外的所有字词都加粗。
他们这样做的方式是在其他位上附加一个<b> 标签。
以下是基于搜索词widgets的一些示例:
术语:蓝色小部件
<b>blue</b> widgets
结果:蓝色小部件
术语:汽车小部件
widgets <b>for cars</b>
结果:用于汽车的小部件
术语:适合热爱小部件的真男人的大小部件
<b>big</b widgets <b>for real men with a love for</b> widgets
结果:大小部件适合真正喜欢小部件的男人
我在 Asp.Net c# 中工作,没有理由不应该在代码中完成此操作,不是 javascript - 问题是我想不出一种方法它!
有人做过类似的事情,可以提供一些建议吗?
提前致谢。
【问题讨论】:
-
找到单词并将其包含在捕获组中,然后只需将组的值替换为
<b>标记。 See this for reference -
抱歉,Kunal,您的回答中有一些我不明白的地方,例如“查找单词” - 究竟如何,以及“捕获组”。
-
在正则表达式
Regex regex = new Regex(@"blue");中找到字面使用的单词并将其括在capturing group中 -
这并不像你想象的那么简单。首先,我要查找除“blue”之外的所有单词,然后我需要封装部分,而不是单个单词。
-
@TaW - 已注明并已修复。