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]

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

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!