C#实现检索不区分大小写并高亮显示的示例代码分享


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要介绍了C# 检索不区分大小写并高亮显示实例详解的相关资料,需要的朋友可以参考下

C# 检索不区分大小写并高亮显示实例详解

今日,碰到一个问题:如何在网页中高亮显示不区分大小写的关键字

  例如:文本abcaBcabCaBCabcaBCa,关键字bc,在不区分大小写的情况,一共有6个匹配项。

  则在网页中显示的是abcaBcabCaBCabcaBCa。

  很多人,想到是replace函数。但是在c# 中replace函数无法解决字母大小写问题。

  例如示例上看,bc,Bc,bC,BC都被搜索到了,却不能统一替换为一个文本

以上文字转自大牛“万仓一黍“的文章--”高亮显示不区分大小写的关键字――ASP“。

但是他的文章写得是ASP版本,今天我写得是C#版本;下面说说解决办法。

  解决办法:运用 IndexOf

IndexOf(String, Int32, StringComparison)

指定的字符串在当前 String 对象中的第一个匹配项的索引。

参数

1

2

3

4

5

6

7

8

9

10

value

类型: System. String

要搜寻的字符串。

startIndex

类型: System. Int32

搜索起始位置。

comparisonType

类型: System. StringComparison

指定搜索规则的枚举值之一。

(OrdinalIgnoreCase:使用序号排序规则并忽略被比较字符串的大小写,对字符串进行比较。)

代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

/// <summary>

    /// 高亮查找关键字。

    /// </summary>

    /// <param name="str">文本。</param>

    /// <param name="keyword">关键字</param>

    /// <returns>含高亮标识的文本。</returns>

    /// <remarks>

    ///  1、字母不区分大小写。

    ///  2、CssClass 名称为 highlight。

    /// </remarks>

    private string HighLightKeyword(string str, string keyword)

    {

      int index;

      var startIndex = 0;

      const string highLightBegin = "<span class='highlight'>";

      const string highLightEnd = "</span>";

      var length = highLightBegin.Length + keyword.Length;

      var lengthHighlight = length + highLightEnd.Length;

 

      while ((index = str.IndexOf(keyword, startIndex, StringComparison.OrdinalIgnoreCase)) > -1)

      {

        str = str.Insert(index, highLightBegin).Insert(index + length, highLightEnd);

        startIndex = index + lengthHighlight;

      }

 

      return str;

    }

以上就是C#实现检索不区分大小写并高亮显示的示例代码分享的详细内容!

相关阅读 >>

C#如何将datatable中的列名复制到另一个datatable

C#中关于的for循环与foreach循环的对比

实现C#遍历文件夹及子目录下所有图片的示例代码分享

详解winform C#中子窗体关闭刷新父窗体的示例代码

C#中guid生成格式的四种方法的示例代码分享

C#教程】C# 预处理器指令

详细介绍C#中调用formatmessage api

.net和C#有什么区别

C#中关于new的用法以及和override的区别分析详解

具体介绍C#使用selenium+phantomjs抓取数据的案例(图文)

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...