在搜索关键词高亮中一般的方法都是采用替换的办法(Replace)这个方法有一个缺点就是不能区分大小写的问题。在网上找了找发现有人用正则表达式的方法来解决这个问题还真不错,效率也比较高,归纳如下,有用得到的朋友可以一试。

//搜索关键词高亮显示函数         public static string HighLightKeyWord(string  pain,string keyword)         {

//搜索关键词高亮函数By JN 2006.11.30              System.Text.RegularExpressions.MatchCollection m = Regex.Matches(pain, keyword,  RegexOptions.IgnoreCase);             //忽略大小写搜索字符串中的关键字             for  (int j = 0; j < m.Count; j++)//循环在匹配的子串前后插东东              {                 //j×31为插入html标签使pain字符串增加的长度:                 pain =  pain.Insert((m[j].Index + keyword.Length + j * 31),  "</font>");//关键字后插入html标签                 pain =  pain.Insert((m[j].Index + j * 31), "<font  color=#ff0000>");//关键字前插入html标签             }

//搜索关键词高亮函数By JN 2006.11.30             return  pain;         }

当然用之前引用先:using System.Web.UI.HtmlControls;

还有:using System.Text.RegularExpressions;(小鱼加)

以上代码有问题:同一句中有多个关键字时出问题

试一下这个先

/// <summary>         /// 替换关键字为红色         ///  </summary>         /// <param  name="keycontent">原始内容</param>         /// <param  name="k">关键字,支持多关键字</param>         ///  <returns>String</returns>         /// <author>haver  Guo</author>         public static string Highlightkeywords(string  keycontent, string k)         {             string resultstr =  keycontent;             if (k.Trim().IndexOf(' ') >  0)             {                 string[] myArray = k.Split('  ');                 for (int i = 0; i < myArray.Length;  i++)                 {                     resultstr =  resultstr.Replace(myArray[i].ToString(), "<font color=#FF0000>" +  myArray[i].ToString() +  "</font>");                 }                 return  resultstr;             }             else             {                 return  resultstr.Replace(k, "<font color=#FF0000>" + k +  "</font>");             }         } 经测,可用

public static string red(string theField, string fkeywords)
       
{
            string red;
            red = theField.Replace(fkeywords,
"<font color=\"red\">" + fkeywords + "</font>");
           
return red;
        }

C#中搜索关键词高亮显示相关推荐

  1. JS实现HTM搜索关键词高亮显示

    如何利用JS实现HTML搜索关键词高亮显示呢? 目录 一.程序案例代码 二.程序运行效果 一.程序案例代码 <!DOCTYPE html> <html lang="en&q ...

  2. android关键词检索功能,Android实现搜索关键词高亮显示-Kotlin

    在做Wandroid项目时有一个搜索功能,要在搜索结果中将匹配到的关键词高亮显示.但是 玩安卓API并没有提供颜色的高亮,只有字体斜体,效果看起来并不明显,并且昵称也参与了搜索,但并没有增加HTML标 ...

  3. Vue---实现搜索功能的搜索关键词高亮显示

    1.模板代码: <div v-html="hightligth(text)"></div> text为自己的文本搜索结果,比如黄某某 例子: 现在我的搜索关 ...

  4. vue中搜索关键词,使文本标红

    UserHead.vue中搜索框: <!-- 搜索 --><el-col :span="6" :offset="8" class=" ...

  5. c语言 在txt文件中搜索关键词_网络推广外包—网络推广外包如何在搜索引擎中体现关键词优化效果...

    在当下的互联网时代中,没有企业愿意远离这种流量获取快.用户需求大.宣传推广能力见效快的搜索引擎,况且通过互联网的帮助下,企业网站能够通过搜索引擎进行关键词优化后获取更多的转化率,增加企业交易额度的提升 ...

  6. js实现html搜索关键词高亮显示(标红)

    效果图: 一.只适用于找出中文 如果传入英文会特别麻烦,因为比如传个a,innerHtml匹配时会匹配到包含a的标签比如<span>.<a>等. 思路: 获取body的inne ...

  7. c语言 在txt文件中搜索关键词_c语言从文件中查找字符串

    展开全部 这需要使用匹配算法来62616964757a686964616fe58685e5aeb931333337396231实现,具体参考代码如下:#include #include #define ...

  8. c语言 在txt文件中搜索关键词_请输入搜索关键字

    Private Sub Command1_Click() Dim a As String Dim filename As String filename = Dir("C:\Users\AS ...

  9. 如何在自己的博客中搜索

    问题的提出:我曾经总结了一个知识点,但是不记得是哪篇博文了.我需要在我的所有博文中搜索某个关键词. 解决方法:使用搜索引擎的site语法.site表示在指定的域名或网站内搜索. 示例:搜索包含&quo ...

最新文章

  1. PortableApps的使用方法
  2. java 启动某个类_java – Spring Boot – 如何指定备用启动类? (多个入口点)
  3. 挑战王者荣耀“绝悟” AI,我输了!
  4. R语言与数据分析(2)-R语言简介
  5. python以垂直方式输出_python学习笔记
  6. 百练OJ:1013:Counterfeit Dollar(假币)
  7. flink checkpoint 恢复_Flink解析 | Apache Flink结合Kafka构建端到端的ExactlyOnce处理
  8. Oracle性能监控脚本(sql)
  9. 衡量失败检测算法的指标
  10. Python 常用官方文档整理(中文版)
  11. 老旧小区智慧用电改造方案
  12. Unity3D开发之GL画线
  13. 二分法求解函数零点的Python程序
  14. SPSS独立样本t检验结果分析
  15. LayaBox引擎源码阅读笔记(四、文本渲染原理相关)
  16. python体测成绩数据分析_Python+Excel数据分析实战:军事体能考核成绩评定(二)基本框架和年龄计算...
  17. CocosCreator 子弹运动轨迹的绘制
  18. python unrar问题_Python-使用unrar库时Couldn't find path to unrar library的解决办法
  19. 百度飞桨领航团python零基础训练营笔记
  20. Ubuntu查看Linux系统版本号

热门文章

  1. Oracle 左连接、右连接、全外连接、(+)号作用
  2. 让.NET程序会说话
  3. CSS方式支持IE6的fixed样式
  4. hdu 1166 敌兵布阵 树状数组 模板题
  5. 傅里叶变换和逆傅里叶变换numpy
  6. win32汇编寄存器汇总
  7. WinForm 之Control.Invoke 和Control.BeginInvoke 方法的使用 Control 不能在创建它的 Thread 之外被调用。但可以通过 invoke 来保证 C
  8. spring连接mysql出现问题_使用spring连接mysql数据库出错
  9. php xml 格式化,php简单处理XML数据的方法示例
  10. 微信小程序 筛选侧边栏 全选与反全选