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

首頁 > 編程 > C# > 正文

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

2020-01-24 00:49:57
字體:
來源:轉載
供稿:網友

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

  今日,碰到一個問題:如何在網頁中高亮顯示不區分大小寫的關鍵字

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

  則在網頁中顯示的是abcaBcabCaBCabcaBCa。

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

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

       以上文字轉自大?!叭f倉一黍“的文章--”高亮顯示不區分大小寫的關鍵字――ASP“。

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

   解決辦法:運用 IndexOf

            IndexOf(String, Int32, StringComparison)

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

參數

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

代碼

/// <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;    }

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长顺县| 三门峡市| 巴楚县| 青铜峡市| 石柱| 永仁县| 灯塔市| 全椒县| 章丘市| 依兰县| 江阴市| 湖口县| 高雄县| 湖北省| 上虞市| 汉沽区| 靖边县| 融水| 太康县| 留坝县| 灌南县| 长春市| 永城市| 中牟县| 恩施市| 新巴尔虎左旗| 潼南县| 江北区| 宿州市| 永德县| 嘉禾县| 平山县| 兴业县| 通州区| 桂东县| 武陟县| 即墨市| 黄浦区| 拜泉县| 卢龙县| 靖西县|