1. #1

    Registriert seit
    19.11.2011
    Beiträge
    2.128
    Thanked 1.936 Times in 1.180 Posts

    Standard Regex - Prüfen ob Ziffer in String vorhanden

    Hallo.

    Ich würde gerne prüfen, ob eine Ziffer in einem String vorhanden ist.

    -CurrentTip ist ein TextField
    -Ich kann Regexpattern bilden, aber irgendwie bin ich mir nicht sicher,
    ob man das mit .matches machen kann.


     if (! (CurrentTip.getText().matches("\\d")))
    {
    LottozahlenZiehung.setText("Erst muss getippt werden!");
    return;
    }

    //WeitererCode , der ausgeführt wird, wenn eine Zahl vorkommt


    Kann mir jemand was dazu sagen?
    Es kommt immer false raus.
    Geändert von !lkay (16.03.2014 um 22:55 Uhr)

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.080
    Thanked 9.118 Times in 2.995 Posts
    Blog Entries
    5

    Standard AW: Regex - Prüfen ob Ziffer in String vorhanden

    Ja klar, dafür sind reguläre Ausdrücke da. So lange du nicht den Anfang und/oder das Ende des Strings im regulären Ausdruck definierst, kann dein Pattern überall im String vorkommen. Dein Ausdruckt passt also auf alle Zeichenketten, in denen mindestens eine Zahl vorkommt (aber eben auch auf jene, wo 28974927494534274928934 vorkommt, was du bestimmt nicht erwartest bzw. als valide erachtest). Ich würde das Pattern daher anpassen, dass es die Nutzereingabe gleich komplett validiert, wenn das Sinn macht (weiß ja nicht was dort als korrekte Eingabe zu erwarten ist). Sprich die Zahl muss beispielsweise in einem bestimmten Wertebereich liegen oder eine bestimmte Anzahl an Ziffern muss vorhanden sein.

    EDIT: Hab dein Edit nicht gesehen. Also dein Pattern ist von Regex-Seite aus valide: Du prüfst, ob irgendwo im String eine Zahl vorkommt. Allerdings hab ich grad nachgeschaut, die Java-Implementierung von String.matches weicht davon ab:

    s.matches("regex") Evaluates if "regex" matches s. Returns only true if the WHOLE string can be matched.
    Was die Java-Entwickler sich da gedacht haben kann ich nicht wirklich nachvollziehen, da man mit der korrekten Implementierung diese Funktionalität selbst nachstellen kann wenn man den Ausdruck mit ^ und $ umschließt und so viel flexibler ist. Aber naja, gehört wohl zur Verwirrung der Coder wie diverse andere Eigenheiten und Implementierungen in Java, über die man als .NET-Entwickler nur die Hände über den Kopf zusammenschlagen kann.. Du musst also entweder dein Pattern anpassen sodass es auf den kompletten String zutrifft oder Alternativen ausprobieren.


  3. The Following User Says Thank You to DMW007 For This Useful Post:


Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 16.12.2013, 09:14
  2. Facebook Like (Foto)? Noch vorhanden?
    Von St0nY im Forum Internet und Technik
    Antworten: 0
    Letzter Beitrag: 10.10.2013, 21:51
  3. Website: Rechtschreibung prüfen
    Von Kaspersky im Forum Software
    Antworten: 7
    Letzter Beitrag: 13.08.2012, 22:11
  4. Kommentare prüfen
    Von !lkay im Forum PHP
    Antworten: 3
    Letzter Beitrag: 12.07.2012, 21:11
  5. Auf eine Zahl prüfen
    Von KScript im Forum Hochsprachen
    Antworten: 8
    Letzter Beitrag: 14.02.2011, 20:14
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.