Feedback

C# - String: Vorkommen eines Teilstrings zählen

Veröffentlicht von am 9/28/2015
(1 Bewertungen)
Diese Erweiterungsmethoden zählen die Vorkommen eines Teilstrings im gesamten String.
/// <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!