Java String vergleichen mit Array /Liste?
Hallo zusammen :)
Ich schreibe in Java. Kann man denn in Java einen String (welcher aus mehreren Sätzen besteht) vergleichen mit einem Array ? Als Beispiel:
If(Content.contains(//hier der array))
Ist das irgendwie möglich ? Wenn nicht, gibt es da andere Lösungen?
MFG
4 Antworten
Aus einem Kommentar von dir geht hervor, dass du überprüfen willst, ob der String und das Array die gleichen Elemente haben.
Wenn die Reihenfolge auch identisch sein soll, kannst du den String (also den Satz) spliten, so dass du ein Array mit Teilstrings (den einzelnen Worten) erhältst.
Z.B. gilt
String str = "Hi ciao*tschüss"
String[] arr = str.split(" *")
Ausgabe:
arr = ["Hi", "ciao", "tschüss"]
Der Methode split kannst du einen String übergeben, der festlegt bei welchen Zeichen eine Trennung vorgenommen werden soll. Hier im Beispiel also bei * und Leerzeichen.
Dann kannst du mit Java.util.Arrays.equals() vergleichen, ob die beiden Arrays gleich sind.
Wenn die Reihenfolge keine Rolle spielt, kannst du zunächst die Länge beider Arrays vergleichen. Falls die ungleich ist, sind sie natürlich nicht gleich.
Falls die Länge gleich ist, über eines der Arrays iterieren und vergleichen, ob jedes Element auch im anderen Array vorkommt.
ArrayListen haben eine contains Methode, die genau das macht.
https://www.geeksforgeeks.org/arraylist-contains-java/
Wenn du prüfen willst ob in einem String des Arrays, der andere String enthalten ist/vorkommt, musst du es Iterieren (For Each...).
Edit: wenn du die einzelnen wörter des satzes als Array mit dem Anderen Array abgleichen willst, kannst du das mit Array.equals(String.split(" ")).
LG
Danke dir erstmal,
ich möchte jedoch einen String auf ein komplettes Array überprüfen, nicht nur auf einzelne Elemente des Arrays
mfg
Einfach ne for Schleife für jeden String aus dem Array die bei 0 anfängt
Geht mir equals. Foreach schleife wäre etwas