Strings über whitelist vergleichen

Status
Nicht offen für weitere Antworten.

Poesch

Mitglied
Hallo liebe COmmunity.

Ich habe ein kleines Problem und bekomme es nicht gebacken. Ansich etwas total simples, ich trau mich schon fast nciht zu fragen ;-)

ich habe 2 Strings. Der eine ist im Prinzip ein Text, und der 2. enthält die zulässigen Zeichen.

Wie prüfe ich nun, ob mein 1. String ausschliesslich aus zeichen des 2. Strings besteht?

wie gesagt, ein eigentlcih total simples problem, nur komm ich grad irgendwie nicht drauf^^

mfg Pösch
 
G

Gonzo17

Gast
Ich bin selbst noch Anfänger, aber ich würde das mal so angehen.

Du nimmst den String mit den Zeichen, die benutzt werden dürfen, und machst ne for-Schleife für die Länge dieses Strings. Damit gehst du jedes Zeichen von vorne bis hinten durch. In dieser for-Schleife würde ich dann das Wort (oder was auch immer überprüft werden soll) abarbeiten, indem du das aktuelle Zeichen nimmst und dieses aus dem String löschst (ggfs. dann natürlich mehrmals). Am besten kopierst du dir das Wort vorher in einen Hilfs-String, sonst ist am Ende dein Wort futsch. Wenn die for-Schleife fertig ist, machst du ne Abfrage. Wenn der String leer ist, dann wurden nur Zeichen benutzt, die du erlaubst. Wenn noch was drin ist, dann is mind. ein unerlaubtes Zeichen drin. Das einzige Problem, das ich jetzt selbst damit hätte, wäre eine entsprechende Methode zu finden, die ein bestimmtes Zeichen aus einem String löscht. In Delphi gabs sowas, aber wie gesagt, bin bei Java gerade Anfänger. Ich hoffe ich konnte dir trotzdem helfen und zumindest nen Ansatz liefern. :)
 

ARadauer

Top Contributor
Java:
   public static boolean isOK(String withelist, String word){
      for(char c: word.toCharArray()){
         if(withelist.indexOf(c)==-1)
            return false;
      }
      return true;
   }
sowas?
 
B

bygones

Gast
du kannst die whitelist auch als regex speichern (die erstellung ist einmal anstrengender...)

z.b. du willst nur konstante zulassen
Java:
String whitelist = "[aeuoi]+";
boolean isOk = "aaaoaioauaoa".matches(whitelist);
boolean isNotOk = "sdfgsfgsfg".matches(whitelist);
 

Landei

Top Contributor
z.b. du willst nur konstante zulassen

<SEKO>*)
Erstens heißt es "Konsonanten", und zweitens verwendet dein Beispiel Vokale.
</SEKO>

Trotzdem eine hübsche Lösung.


*) SEKO == Sondereinsatzkommando Orthografie
 
G

Gonzo17

Gast
Java:
   public static boolean isOK(String withelist, String word){
      for(char c: word.toCharArray()){
         if(withelist.indexOf(c)==-1)
            return false;
      }
      return true;
   }
sowas?

Ähm. Kann es sein, dass deine Methode verkehrtrum arbeitet? Sie sollte jedes Zeichen aus der Whitelist nehmen und schaun, ob es im Wort enthalten ist. Aber ansonsten schauts denk ich nach dem aus, was der TO sucht. Ist auch noch einfacher, als ich es mir gedacht habe bzw. weniger Code.

Edit: Ah ne, hast Recht. So rum is richtig. Hab falsch gedacht. ^^


du kannst die whitelist auch als regex speichern (die erstellung ist einmal anstrengender...)

z.b. du willst nur konstante zulassen
Java:
String whitelist = "[aeuoi]+";
boolean isOk = "aaaoaioauaoa".matches(whitelist);
boolean isNotOk = "sdfgsfgsfg".matches(whitelist);

Gibt es die Methode matches? Was macht die denn genau?
 
B

bygones

Gast
Gibt es die Methode matches? Was macht die denn genau?
wie der name es sagt... sie schaut ob der parameter auf das objekt matcht (also passt / uebereinstimmt)... halt ueber regulaere ausdruecke.

wenn es die methode nicht geben wuerde haette ich es ja so nicht schreiben koennen... siehe API
 
G

Gonzo17

Gast
Ich hatte jetzt nur Probleme mit der genauen Bedeutung von "match". Heisst das, dass nur true geliefert wird, wenn die im String verwendeten Zeichen auch alle in der Whitelist vorhanden sind? (muss es wohl, sonst würde ja nicht das richtige Ergebnis rauskommen :D)
 
B

bygones

Gast
(muss es wohl, sonst würde ja nicht das richtige Ergebnis rauskommen :D)
genau...

komplexer wirds halt dann wenn regex sondezeichen genutzt werden sollen... z.b. . oder ( da diese dann maskiert werden muessen

Java:
"[aeuoi\\.\\(\\)]+"
matcht woerter die nur vokale (*g) haben . ( ) sind auch erlaubt
 
G

Gonzo17

Gast
Und was ist mit den eckigen Klammern und dem "+"?
So ich das grad verstehe heisst zum Beispiel [ae], dass die Buchstaben a und e erlaubt sind. Aber was heisst dann das "+" hintendran?
 
G

Gonzo17

Gast
Danke dir :)
Auch wenn ich eigentlich nicht der war, der Hilfe gebraucht hat. :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Erste Schritte Frage über .length in Strings Java Basics - Anfänger-Themen 4
M Bitmuster eines Strings über RS232 senden Java Basics - Anfänger-Themen 5
B Zeichen eines Strings über Datei verteilen Java Basics - Anfänger-Themen 9
W Gleichzeitiges ersetzen mehrerer Strings Java Basics - Anfänger-Themen 7
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
N Nachkommastellen von Strings Java Basics - Anfänger-Themen 3
T Strings unveränderlich???? Java Basics - Anfänger-Themen 22
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
S Die durchschnittliche Länge der Strings Java Basics - Anfänger-Themen 11
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
sserio StringBuilder und Strings Java Basics - Anfänger-Themen 8
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
N Strings verpflechten Java Basics - Anfänger-Themen 4
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
L Strings aneinanderhängen Java Basics - Anfänger-Themen 2
M Strings vergleichen Java Basics - Anfänger-Themen 10
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
P Verketten, Aneinanderreihen von Strings Java Basics - Anfänger-Themen 2
M Strings mit gerader und ungerader Länge ausgeben Java Basics - Anfänger-Themen 10
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
W Strings und das parsen Java Basics - Anfänger-Themen 8
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
D Vergleichen von Strings Java Basics - Anfänger-Themen 6
M Konkatenation von zwei Strings Java Basics - Anfänger-Themen 6
J Abbruchbedingung in Schleife/ Untersuchung von Strings Java Basics - Anfänger-Themen 2
S Buchstaben in Großbuchstaben (Strings) Java Basics - Anfänger-Themen 5
X Anagramm mit Strings und Methode Java Basics - Anfänger-Themen 53
P geschachtelte Schleife mit Strings Java Basics - Anfänger-Themen 2
P Strings mit der Axt zerteilen Java Basics - Anfänger-Themen 7
F Alle Zeichenkombinationen eines Strings iterativ herausfinden Java Basics - Anfänger-Themen 26
K Strings hochzählen Java Basics - Anfänger-Themen 20
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
J Unveränderbarkeit von Strings Java Basics - Anfänger-Themen 3
O Klammerung bei Strings Java Basics - Anfänger-Themen 10
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
N Zwei Strings mit "==" vergleichen warum TRUE Java Basics - Anfänger-Themen 2
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
D ergebnis.matches("[1-9]?[0-9].[0-9][0-9]?") ein teil eines größeren Strings Java Basics - Anfänger-Themen 12
J Breite eines Strings bestimmen Java Basics - Anfänger-Themen 4
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
N Vergleich von Strings schlägt fehl.. Java Basics - Anfänger-Themen 5
B 4 Strings, Anfangsbuchstaben muss unterschiedlich sein Java Basics - Anfänger-Themen 12
P Strings in String Array schreiben Java Basics - Anfänger-Themen 13
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
B mir nur die Gesamtzahl von einzigartigen Strings aus Array ausgeben lassen Java Basics - Anfänger-Themen 5
R Erste Schritte Sicheres einlesen eines Strings Java Basics - Anfänger-Themen 2
F Maximale Länge eines Strings Java Basics - Anfänger-Themen 5
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
Jinnai4 Strings ersetzen Java Basics - Anfänger-Themen 9
R Übergeben eines Array Strings an einen Spinner Java Basics - Anfänger-Themen 4
L Rekursiv zwei Strings vergleichen Java Basics - Anfänger-Themen 3
L Prüfe, ob die im String Array enthaltenen Strings aufsteigend sind. Java Basics - Anfänger-Themen 19
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
DaCrazyJavaExpert Variablen Zahlen aus Strings auslesen Java Basics - Anfänger-Themen 4
C 2 Strings Java Basics - Anfänger-Themen 15
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Strings in andere Klassen importieren. Java Basics - Anfänger-Themen 2
D BlueJ Java: Strings voneinander trennen Java Basics - Anfänger-Themen 11
javaerd Wie kann ich Brute Force Methode mit Strings erweitern Java Basics - Anfänger-Themen 1
R Erste Schritte Strings "einrücken" Java Basics - Anfänger-Themen 3
Yamie ArrayList<Object> als Liste von Strings ausgeben? Java Basics - Anfänger-Themen 15
B gemeinsames Vorkommen der charactere von 2 Strings als String zurückgeben Java Basics - Anfänger-Themen 5
R Teilinhalt eines Strings testen Java Basics - Anfänger-Themen 10
H Erste Schritte JTree: Instanzen einer Klasse speichern oder Namen/Strings... Java Basics - Anfänger-Themen 4
L Werte von Strings ? Java Basics - Anfänger-Themen 1
L Strings und Arrays - Expand Java Basics - Anfänger-Themen 12
I Schachbrett aus beliebigen Strings erstellen Java Basics - Anfänger-Themen 3
Syncopated Pandemonium Verketten von Strings funktioniert nicht Java Basics - Anfänger-Themen 4
F Wahrscheinlichkeit von Strings Java Basics - Anfänger-Themen 3
MiMa Splitten eines Strings Java Basics - Anfänger-Themen 5
T Hashfunktion für Strings Java Basics - Anfänger-Themen 3
C Zeilenumbruch für langes Strings Java Basics - Anfänger-Themen 2
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
H Erste Schritte Längstes Wort eines Strings herausfinden Java Basics - Anfänger-Themen 7
D Problem beim umwandeln eines Strings in eine Dzezimalzahl Java Basics - Anfänger-Themen 6
G Strings mit Scanner (nextLine) einlesen Java Basics - Anfänger-Themen 7
T Strings ersetzen mit \ Java Basics - Anfänger-Themen 10
K Strings bearbeiten Java Basics - Anfänger-Themen 14
N Bestimmte Zeichen eines Strings umwandeln Java Basics - Anfänger-Themen 4
L Java Strings Buchstaben vertauschen Java Basics - Anfänger-Themen 4
L Strings in einem JOptionPane farbig Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben