У меня есть эта строка: "player.login name=username;x=52;y=406"
как бы я мог разделить ее, чтобы я мог легко сделать Player pl = new Player(name, x, y)
?
Я пытался с регулярным выражением, которое выглядит так: "([a-zA-Z_]+)[=]{1}([a-zA-Z0-9_]+)[;]{1}"
, но я не очень хорош в регулярных выражениях, поэтому оно не сработало.
РЕДАКТИРОВАТЬ: Кто-то придумал хорошее решение, поэтому не нужно комментировать. :)
Что я использовал:
public static void main(String args[]) {
String login = "player.login name=username;x=52;y=406";
String str = login.substring("player.login".length() + 1);
String[] sp = str.split(";");
Player player = new Player("", 0, 0);
for (String s : sp) {
String[] a = s.split("=");
if (a[0].equals("name")) player.username = a[1];
else if (a[0].equals("x")) player.x = toInt(a[1]);
else if (a[0].equals("y")) player.y = toInt(a[1]);
}
System.out.println("Player: " + player.username + " @ " + player.x + ", " + player.y);
}
public static int toInt(String s) {
return Integer.parseInt(s);
}