gpt4 book ai didi

java - 以特殊方式拆分字符串

转载 作者:行者123 更新时间:2023-12-04 00:23:28 24 4
gpt4 key购买 nike

我有这个字符串:"player.login name=username;x=52;y=406" 我怎样才能拆分它,这样我就可以轻松地做到 Player pl =新玩家(名字,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);
}

最佳答案

这应该有效(您应该在调用 exp.split("=")[1] 之前添加绑定(bind)检查):

public static void main(String[] args) {
String s = "player.login name=username;x=52;y=406";
String[] expressions = s.split(";");
for (String exp : expressions) {
System.out.println(exp.split("=")[1]);
}
}

关于java - 以特殊方式拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com