Wie kann ich gucken, ob in einem String bestimmte Zeichen sind (Java)?
Guten Tag!
Ich programmiere gerade ein Programm und dort soll es auch einen Login/Register geben. Wie kann ich überprüfen, ob:
- In dem eingegebenen ein @ erhalten ist
- In dem eingegebenen mindestens ein . ist
- Ob das eingegebene mehr als 6 Zeichen hat (Für das Passwort)
Das ganze wird mit einem BufferedReader eingegeben, da dies ein Konsolenprogramm ist.
Ich würde mich über faire und verständliche Antworten freuen ;)
MfG
Tomic
4 Antworten
1.
boolean containsAt = string.contains("@");
2.
boolean containsDot = string.contains(".");
3.
boolean longEnough = string.length() > 6;
Dankeschön! Solch eine Antwort habe ich gesucht! Vielen vielen Dank
Die Länge kannst Du über stringvariable.length ermitteln.
Für die übrigen Anforderungen gibt es mehrere Möglichkeiten. Du kannst mittels indexOf ermitteln, ob ein Zeichen mindestens einmal vorkommt, müsstest aber dann noch was drumherum programmieren um auch prüfen zu können, ob das Zeichen genau einmal vorkommt. Beispielsweise könntest Du prüfen, ob indexOf (was den Index des ersten Vorkommens des Zeichens liefert) und lastIndexOf (was den Index des letzten Vorkommens des Zeichens liefert) denselben Index liefern.
Mithilfe von Regular Expressions kann man beides sehr einfach prüfen, wenn man verstanden hat, wie Regular Expressions funktionieren.
Du kannst die .indexOf-Methode des Typs String verwenden.
https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html#indexOf(int)
Wenn der Character nicht enthalten ist, dann gibt die die Methode -1 zurück.
Um zu testen, ob der übergebene String eine bestimmte Länge hat, kannst du die .length-methode des Typ Strings verwenden. diese gibt dir die Länge des Strings zurück.
Moin,
dafür gibt es bereits vorhandene Email Validations:
Man muss das Rad nicht immer neu erfinden ;)
MfG Souta