Java Scanner Eingabe Sonderzeichen ignorieren?

3 Antworten

Gehe mit einer Schleife zeichenweise durch deinen String. Je Zeichen (char) kannst du prüfen, ob es sich im richtigen Wertebereich (siehe ASCII-Tabelle) befindet und bei Großbuchstaben zum Kleinbuchstaben aufaddieren.

Vergiss nicht: Die numerische Repräsentation eines Zeichens in der ASCII-Tabelle bekommst du leicht durch einen Typecast.

char letter = 'a';
int numericRepresentation = (int)letter;
System.out.println(numericRepresentation); // 97

Ein Regulärer Ausdruck könnte dir alle Buchstaben filtern und anschliessend verwendest du eine LowerCase Funtion. Mit Java hab ich es nicht aber so wirds gemacht.

Woher ich das weiß:eigene Erfahrung
MrAmazing2  28.07.2020, 12:30

Oh, selbe Idee wie ich haha.

Und in Java geht's so, falls es dich interessiert:

String input = "2g4Eh81e`*i42M";
input = (input.replaceAll("[^ a-zA-Z]","")).toLowerCase();
1

Das geht am einfachsten mit regulären Ausdrücken und der Methode toLowerCase.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
MrAmazing2  28.07.2020, 12:23

Hier der Code:

String oldInput = deinScanner.next();
String input = (oldInput.replaceAll("[^ a-zA-Z]","")).toLowerCase();
1