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]

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

/// <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!