Feedback

C# - String: Index des n-ten Vorkommens ermitteln

Veröffentlicht von am 01.10.2015
(0 Bewertungen)
Diese Erweiterungsmethoden geben den Index eines Vorkommens zurück, nachdem die angegebene Anzahl an vorher auftretenden Vorkommen ignoriert wurde.

Benötigter Namespace
System
GFU-Schulungen  [Anzeige]

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

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.

/// <summary>
/// Bestimmt den n-ten Index des Vorkommens einer Teilzeichenfolge in einer anderen Zeichenfolge.
/// </summary>
/// <param name="source">Die zu durchsuchende Zeichenfolge.</param>
/// <param name="pattern">Die zu suchende Teilzeichenfolge.</param>
/// <param name="ignore">Die Anzahl der zu Vorkommen vor dem zu findenden.</param>
/// <returns>Der Index des <paramref name="ignore"/>-ten Vorkommens von <paramref name="pattern"/> 
/// in <paramref name="source"/>.</returns>
public static int IndexOfNthOccurence(this string source, string pattern, uint ignore)
{
    return IndexOfNthOccurence(source, pattern, ignore, StringComparison.CurrentCulture);
}

/// <summary>
/// Bestimmt den n-ten Index des Vorkommens einer Teilzeichenfolge in einer anderen Zeichenfolge.
/// </summary>
/// <param name="source">Die zu durchsuchende Zeichenfolge.</param>
/// <param name="pattern">Die zu suchende Teilzeichenfolge.</param>
/// <param name="ignore">Die Anzahl der zu Vorkommen vor dem zu findenden.</param>
/// <param name="comparisonType">Gibt den Vergleichstyp an.</param>
/// <returns>Der Index des <paramref name="ignore"/>-ten Vorkommens von <paramref name="pattern"/> 
/// in <paramref name="source"/>.</returns>
public static int IndexOfNthOccurence(this string source, string pattern, uint ignore, StringComparison comparisonType)
{
    if (source == null)
    {
        throw new ArgumentNullException("source");
    }
    if (pattern == null)
    {
        throw new ArgumentNullException("pattern");
    }
    if (pattern.Length == 0)
    {
        return -1;
    }

    int currentIndex = 0;
    while (currentIndex != -1)
    {
        currentIndex = source.IndexOf(pattern, currentIndex, comparisonType);
        if (currentIndex != -1)
        {
            ignore--;
            currentIndex++;
            if (ignore == 0)
                return currentIndex - 1;
        }
    }
    return -1;
}
Abgelegt unter String, IndexOf, Occurences, Vorkommen.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!