Feedback

C# - String: Vorkommen eines Teilstrings zählen

Veröffentlicht von am 28.09.2015
(1 Bewertungen)
Diese Erweiterungsmethoden zählen die Vorkommen eines Teilstrings im gesamten String.
GFU-Schulungen  [Anzeige]

VB.NET Aufbau

Sie verfügen nach der Schulung über fundierte Kenntnisse in der Arbeit mit objektorientierten Modellen in VB.NET und können wiederverwendbare Komponenten eigenständig erzeugen.

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>
/// Zählt die Anzahl der Vorkommen einer bestimmten Teilzeichenfolge in dieser Zeichenfolge.
/// </summary>
/// <param name="source">Die zu durchsuchende Zeichenfolge.</param>
/// <param name="pattern">Die zu suchende Teilzeichenfolge.</param>
/// <returns>Die Anzahl von <paramref name="pattern"/> in <paramref name="source"/>.</returns>
public static int CountOccurences(this string source, string pattern)
{
    return CountOccurences(source, pattern, StringComparison.CurrentCulture);
}

/// <summary>
/// Zählt die Anzahl der Vorkommen einer bestimmten Teilzeichenfolge in dieser Zeichenfolge.
/// </summary>
/// <param name="source">Die zu durchsuchende Zeichenfolge.</param>
/// <param name="pattern">Die zu suchende Teilzeichenfolge.</param>
/// <param name="comparisonType">Die zu nutzende Vergleichsart.</param>
/// <returns>Die Anzahl von <paramref name="pattern"/> in <paramref name="source"/>.</returns>
public static int CountOccurences(this string source, string pattern, StringComparison comparisonType)
{
    if (source == null)
    {
        throw new ArgumentNullException("source");
    }
    if (pattern == null)
    {
        throw new ArgumentNullException("pattern");
    }
    if (!Enum.IsDefined(typeof(StringComparison), comparisonType))
    {
        throw new ArgumentOutOfRangeException("comparisonType");
    }
    if (pattern.Length == 0)
    {
        return -1;
    }

    int result = 0;
    int currentIndex = 0;
    while (currentIndex != -1)
    {
        currentIndex = source.IndexOf(pattern, currentIndex, comparisonType);
        if (currentIndex != -1)
        {
            result++;
            currentIndex++;
        }
    }
    return result;
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!