国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

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

2019-10-29 21:15:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

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

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

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

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

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

       以上文字轉(zhuǎn)自大牛“萬(wàn)倉(cāng)一黍“的文章--”高亮顯示不區(qū)分大小寫(xiě)的關(guān)鍵字——ASP“。

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

   解決辦法:運(yùn)用 IndexOf

            IndexOf(String, Int32, StringComparison)

            指定的字符串在當(dāng)前 String 對(duì)象中的第一個(gè)匹配項(xiàng)的索引。

參數(shù)

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

代碼

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

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


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄂伦春自治旗| 鄂托克旗| 台东市| 清苑县| 南和县| 弥渡县| 盘锦市| 辉县市| 广元市| 察雅县| 贺州市| 静宁县| 彰化县| 固原市| 屯昌县| 连南| 双峰县| 颍上县| 任丘市| 常宁市| 桐乡市| 葫芦岛市| 临武县| 元江| 商都县| 颍上县| 襄汾县| 双流县| 大渡口区| 香河县| 攀枝花市| 台北市| 金秀| 郯城县| 阿瓦提县| 广平县| 井冈山市| 亚东县| 邵武市| 雅安市| 扬中市|