Feedback

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

Veröffentlicht von am 6/9/2010
(0 Bewertungen)
Mit diesen beiden Extension Methods kann festgestellt werden, ob ein String mindestens einen Großbuchstaben oder einen Kleinbuchstaben enthält.
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 7/8/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 7/8/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 8/3/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!