最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# 檢索不區(qū)分大小寫并高亮顯示實例詳解

 更新時間:2017年01月21日 15:10:27   投稿:lqh  
這篇文章主要介紹了C# 檢索不區(qū)分大小寫并高亮顯示實例詳解的相關(guān)資料,需要的朋友可以參考下

C# 檢索不區(qū)分大小寫并高亮顯示實例詳解

  今日,碰到一個問題:如何在網(wǎng)頁中高亮顯示不區(qū)分大小寫的關(guān)鍵字

  例如:文本abcaBcabCaBCabcaBCa,關(guān)鍵字bc,在不區(qū)分大小寫的情況,一共有6個匹配項。

  則在網(wǎng)頁中顯示的是abcaBcabCaBCabcaBCa。

  很多人,想到是replace函數(shù)。但是在c# 中replace函數(shù)無法解決字母大小寫問題。

  例如示例上看,bc,Bc,bC,BC都被搜索到了,卻不能統(tǒng)一替換為一個文本

       以上文字轉(zhuǎn)自大?!叭f倉一黍“的文章--”高亮顯示不區(qū)分大小寫的關(guān)鍵字——ASP“。

       但是他的文章寫得是ASP版本,今天我寫得是C#版本;下面說說解決辦法。

   解決辦法:運用 IndexOf

            IndexOf(String, Int32, StringComparison)

            指定的字符串在當前 String 對象中的第一個匹配項的索引。

參數(shù)

value
類型: System. String 
要搜尋的字符串。
startIndex
類型: System. Int32 
搜索起始位置。
comparisonType
類型: System. StringComparison 
指定搜索規(guī)則的枚舉值之一。
(OrdinalIgnoreCase:使用序號排序規(guī)則并忽略被比較字符串的大小寫,對字符串進行比較。)

代碼

/// <summary>
    /// 高亮查找關(guān)鍵字。
    /// </summary>
    /// <param name="str">文本。</param>
    /// <param name="keyword">關(guān)鍵字</param>
    /// <returns>含高亮標識的文本。</returns>
    /// <remarks>
    ///  1、字母不區(qū)分大小寫。 
    ///  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;
    }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • c#使用filesystemwatcher監(jiān)視文件系統(tǒng)的變化

    c#使用filesystemwatcher監(jiān)視文件系統(tǒng)的變化

    對于一個文件夾的改變,C#這邊有自己的類來實現(xiàn),我們不需要關(guān)心它的內(nèi)部實現(xiàn)機制,不需要關(guān)心它底層調(diào)用哪些API,我們只需要關(guān)心如何去調(diào)用它,如何讓它幫助我們記錄文件夾的修改情況即可,下面我們就實現(xiàn)它
    2014-01-01
  • 使用異步方式調(diào)用同步方法(實例詳解)

    使用異步方式調(diào)用同步方法(實例詳解)

    .NET Framework 允許您異步調(diào)用任何方法。為此,應定義與您要調(diào)用的方法具有相同簽名的委托;公共語言運行時會自動使用適當?shù)暮灻麨樵撐卸xBeginInvoke和EndInvoke方法
    2013-10-10
  • 使用C#實現(xiàn)寫入系統(tǒng)日志

    使用C#實現(xiàn)寫入系統(tǒng)日志

    本文給大家分享的是作者使用使用C#實現(xiàn)將軟件日志寫入系統(tǒng)日志中的方法,十分巧妙,有需要的小伙伴可以參考下
    2018-01-01
  • C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法

    C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法

    本文主要介紹了C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法:利用反射,讀取一個類型的所有屬性,然后再把屬性轉(zhuǎn)換成XML元素的屬性或者子元素。下面注釋比較完整,需要的朋友可以看下
    2016-12-12
  • C#中接口(Interface)的深入詳解

    C#中接口(Interface)的深入詳解

    這篇文章主要給大家介紹了關(guān)于C#中接口(Interface)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • c#操作Redis的5種基本類型匯總

    c#操作Redis的5種基本類型匯總

    這篇文章主要給大家介紹了關(guān)于c#操作Redis的5種基本類型,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用C#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-07-07
  • unity實現(xiàn)按住鼠標選取區(qū)域截圖

    unity實現(xiàn)按住鼠標選取區(qū)域截圖

    這篇文章主要為大家詳細介紹了unity實現(xiàn)按住鼠標選取區(qū)域截圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#實現(xiàn)求一組數(shù)據(jù)眾數(shù)的方法

    C#實現(xiàn)求一組數(shù)據(jù)眾數(shù)的方法

    這篇文章主要介紹了C#實現(xiàn)求一組數(shù)據(jù)眾數(shù)的方法,這里以浮點型數(shù)組為例分析了C#求眾數(shù)的算法原理與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C#實現(xiàn)將窗體固定在顯示器的左上角且不能移動的方法

    C#實現(xiàn)將窗體固定在顯示器的左上角且不能移動的方法

    這篇文章主要介紹了C#實現(xiàn)將窗體固定在顯示器的左上角且不能移動的方法,涉及C#窗體固定操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 測試stringbuilder運行效率示例

    測試stringbuilder運行效率示例

    測試StringBuilder的運行效率,大家參考使用吧
    2013-12-12

最新評論

阳江市| 长海县| 夏河县| 巫山县| 凭祥市| 榆林市| 垦利县| 绵竹市| 大城县| 河源市| 晋中市| 两当县| 灵璧县| 晴隆县| 巨鹿县| 舞钢市| 安庆市| 忻城县| 时尚| 常德市| 宝坻区| 驻马店市| 衡水市| 谷城县| 湄潭县| 平利县| 保德县| 凤城市| 黄浦区| 弥勒县| 兴仁县| 乌审旗| 乌拉特中旗| 盐津县| 满城县| 清苑县| 惠安县| 九江市| 广饶县| 福安市| 湖南省|