Splitten eines Strings im ArrayList nicht möglich?
Moki
- java
Hallo,
ich versuche gerade eine Funktion zu schreiben, um den Farbcode eines Users herauszulesen, indem der User mit Farbcode in der ArrayList player_and_color gespeichert ist. Nun möche ich die ArrayList nach dem Usernamen durchsuchen und durch das Splitten eines String den Farbcode als return-Wert ausgeben.
Allerdings scheint es nicht klappen - und es liegt an dem split. Gibt es irgendeine eine andere Möglichkeit?
public String getColor(String user) {
String userscolor = "";
System.out.println("Player and colors:");
for(int i = 0; i < player_and_color.size(); i++) {
System.out.println(player_and_color.get(i));
if (player_and_color.get(i).startsWith(user.toLowerCase())) {
String player_and_color2 = player_and_color.get(i);
System.out.println("Player und color:" + player_and_color.get(i));
String[] parts = player_and_color2.split("|");
String username = parts[0];
System.out.println("Username:"+username);
String color = parts[1];
System.out.println("Color:"+color);
userscolor = color;
}
}
return userscolor;
}
Die ArrayList hat folgendes Format:
user1|farbcode
user2|farbcode
user3|farbcode
Als Ausgabe bekomme ich beim Usernamen gar nichts und beim Color bekomme ich immer jeweils den Anfangsbuchstaben des Users.
Gibt es irgendeine andere Möglichkeit, den Farbecode eines Users zu ermitteln?
Vielen Dank und liebe Grüße,
Moki
Allerdings scheint es nicht klappen - und es liegt an dem split. Gibt es irgendeine eine andere Möglichkeit?
Man könnte es richtig anwenden (Stackoverflow) ;-)
hi,
Die ArrayList hat folgendes Format:
user1|farbcode
user2|farbcode
user3|farbcode
Also irgendwie geht das an Java/OOP glatt vorbei.
Gibt es irgendeine andere Möglichkeit, den Farbecode eines Users zu ermitteln?
Ja, überarbeite Deine Klassen. Lege z.B. User-Objekte an, wo den Farbcode als _Attribut_ haben.
Hi,
String[] parts = player_and_color2.split("|");
Der Regex | ist vermutlich nicht das, was Du haben willst.
Dein Regex sucht nach Nichts oder Nichts.
Wenn Du nach einem | suchen willst, kannst Du ihn entweder per \ escapen (Achtung, der muß nochmal escapet werden wegen des Java-String-Contexts) oder ihn in als Zeichenklasse angeben, also [|]
cu,
Andreas