Feedback

C# - Enthält ein String Groß- oder Kleinbuchstaben?

Veröffentlicht von am 09.06.2010
(0 Bewertungen)
Mit diesen beiden Extension Methods kann festgestellt werden, ob ein String mindestens einen Großbuchstaben oder einen Kleinbuchstaben enthält.
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

public static class ExtensionMethods
{
    public static bool ContainsUpperSizeLetter(this string s)
    {
        return new System.Text.RegularExpressions.Regex("[A-Z]").IsMatch(s);
    }

    public static bool ContainsLowerSizeLetter(this string s)
    {
        return new System.Text.RegularExpressions.Regex("[a-z]").IsMatch(s);
    }
}

3 Kommentare zum Snippet

RoSi schrieb am 08.07.2010:
Da es hier anscheinend nicht um die schnellste Methode der Auswertung geht, sondern übersichtliche Zeile schlage ich vor:
return s!=null && s.Where(p => p >= 'A' && p <= 'Z').Count() > 0;

bzw. entsprechend angepasst für LowerCase
return s!=null && s.Where(p => p >= 'a' && p <= 'z').Count() > 0;
.
Braucht bei mir nur die Hälfte der Zeit der Regex-Methode.
RoSi schrieb am 08.07.2010:
Alternativ - wenn es nur um ´Groß-/Kleinschreibung geht

public static bool ContainsUpperSizeLetter(this string s)
{
return s!=s.ToLower();
}

public static bool ContainsLowerSizeLetter(this string s)
{
return s!=s.ToUpper();
}

Allerdings dauert die Ausführung ebenfalls länger als die Where-Methode.
WolfgangKluge schrieb am 03.08.2010:
Hi, ich würde ja eher Any() vorschlagen, damit sollte nach dem ersten gefundenen Zeichen Schluss mit der Suche nach den richtigen Zeichen sein...

return s!=null && s.Any(p => p >= 'A' && p <= 'Z');
 

Logge dich ein, um hier zu kommentieren!