Heim >Backend-Entwicklung >C#.Net-Tutorial >C# implementiert das Abrufen ohne Berücksichtigung der Groß- und Kleinschreibung und hebt die gemeinsame Nutzung von Beispielcode hervor

C# implementiert das Abrufen ohne Berücksichtigung der Groß- und Kleinschreibung und hebt die gemeinsame Nutzung von Beispielcode hervor

黄舟
黄舟Original
2017-03-28 11:45:491752Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zum C#-Abruf ohne Berücksichtigung der Groß- und Kleinschreibung und hervorgehobene Beispiele vorgestellt. Freunde in Not können sich auf

C#-Abruf ohne Berücksichtigung der Groß- und Kleinschreibung beziehen. Detaillierte Erklärung von Groß- und Kleinschreibung und Hervorhebung Beispiele

Heute bin ich auf ein Problem gestoßen: Wie man Schlüsselwörter auf einer Webseite hervorhebt, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird

Zum Beispiel: Text abcaBcabCaBCabcaBCa, Schlüsselwort bc, im Falle der Nichtberücksichtigung gibt es solche Insgesamt 6 Spiele.

Dann wird auf der Webseite abcaBcabCaBCabcaBCa angezeigt.

Viele Leute denken an die Ersetzungsfunktion. Aber in c# kann die Ersetzungsfunktion das Problem der Groß- und Kleinschreibung nicht lösen.

Beispielsweise wurden alle Wörter bc, Bc, bC und BC durchsucht, sie können jedoch nicht durch einen einzelnen Text ersetzt werden.

Der obige Text wurde aus dem Artikel von Daniel „Wancang Yimi“ reproduziert " - -"Schlüsselwörter ohne Berücksichtigung der Groß- und Kleinschreibung hervorheben - ASP".

Aber sein Artikel wurde in der ASP-Version geschrieben, und heute schreibe ich die C#-Version. Lassen Sie uns über die folgende Lösung sprechen.

Lösung: Verwenden Sie IndexOf

IndexOf(String, Int32, StringComparison)

Der angegebene String befindet sich im aktuellen String Der Index des ersten Vorkommens im Objekt.

Parameter

value
类型: System. String 
要搜寻的字符串。
startIndex
类型: System. Int32 
搜索起始位置。
comparisonType
类型: System. StringComparison 
指定搜索规则的枚举值之一。
(OrdinalIgnoreCase:使用序号排序规则并忽略被比较字符串的大小写,对字符串进行比较。)

Code

/// <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=&#39;highlight&#39;>";
      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;
    }

Das obige ist der detaillierte Inhalt vonC# implementiert das Abrufen ohne Berücksichtigung der Groß- und Kleinschreibung und hebt die gemeinsame Nutzung von Beispielcode hervor. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn