Feedback

C# - Fundstelle eines Suchbegriffs markieren

Veröffentlicht von am 19.08.2009
(3 Bewertungen)
Hebt den Suchbegriff an der Funstelle hervor, ähnlich den Suchmaschinen. Die Anzahl der Zeichen vor und nach der Fundstellen kann angegeben werden.

Beispiel:
Suche nach "nur" im Text "Ich bin nur ein kleiner Text."

Ergebnis (4 Zeichen vor und nach der Funsstelle):
...bin nur ein...
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

// Beispielaufruf:
// Label1.Text = MarkReference(TextBox1.Text, TextBox2.Text, 4);

public static string MarkReference(string text, string search, int num)
    {
        string referenceText = text.Trim();
        string searchWord = search.Trim();
        string moreLeftTag = "...", moreRightTag = "...";

        int searchWordStartPos = referenceText.IndexOf(searchWord,
                                        StringComparison.CurrentCultureIgnoreCase);
        if (searchWordStartPos >= 0)
        {
            int referenceTextLength = referenceText.Length;
            int searchWordLength = searchWord.Length;

            int resultLeftLength = num, resultRightLength = num;
            int resultLeftStartPos = searchWordStartPos - resultLeftLength;
            int resultRightStartPos = searchWordStartPos + searchWordLength;

            if (resultLeftStartPos < 0)
            {
                resultLeftLength = resultLeftLength + resultLeftStartPos;
                resultLeftStartPos = 0;
                moreLeftTag = "";
            }

            if ((resultRightStartPos + resultRightLength) > referenceTextLength)
            {
                resultRightLength = referenceTextLength - resultRightStartPos;
                moreRightTag = "";
            }

            return String.Format("{0}{1}<span id=\"highlight\">{2}</span>{3}{4}",
                        moreLeftTag,
                        referenceText.Substring(resultLeftStartPos, resultLeftLength),
                        referenceText.Substring(searchWordStartPos, searchWordLength),
                        referenceText.Substring(resultRightStartPos, resultRightLength),
                        moreRightTag);
        }
        else
        {
            return null;
        }
    }
Abgelegt unter suche, string, fundstelle, hervorheben, markieren.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!